base on The reliable, generic, fast and flexible logging framework for Java.
# About logback
Thank you for your interest in logback, the reliable, generic, fast
and flexible logging library for Java.
The Logback documentation can be found on the [project
web-site](https://logback.qos.ch/documentation.html) as well as under
the docs/ folder of the logback distribution.
## On the 1.5.x series
The 1.5.x series is a direct descendant of and a drop-in replacement
for the 1.4.x series. It differs from the 1.4.x series by the
relocation of the logback-access module which was moved to its [own
separate github repository](https://github.com/qos-ch/logback-access).
Here is a summary of 1.5.x dependencies:
|Logback version |github branch |SLF4J version | JDK at runtime | JDK during build | Enterprise Edition (optional)|
|:---------------:|:--------:|:---------:|:-------:|:--------:|------------------------------|
| 1.5.x | master | 2.0.x | 11 | 21 | Jakarta EE (jakarta.* namespace)|
## INACTIVE - 1.3.x supports Java EE, while version 1.4.x supports Jakarta EE.
The two versions are feature identical. However, They are no longer actively maintained.
Both 1.3.x and 1.4.x series require SLF4J 2.0.x or later.
The 1.3.x series requires Java 8 at runtime. If you wish to build
logback from source, you will need Java 9.
The 1.4.x series requires Java 11 at build time and at runtime.
# Building logback
Version 1.5.x requires Java 21 to compile and build.
More details on building logback is documented at:
https://logback.qos.ch/setup.html#ide
# In case of problems
In case of problems please do not hesitate to post an e-mail message
on the
[email protected] mailing list. You may also post message on the
[github discussions](https://github.com/qos-ch/logback/discussions) forum.
However, please do not directly e-mail logback developers.
The answer to your question might be useful to other users. Moreover,
there are many knowledgeable users on the logback-user mailing lists
who can quickly answer your questions.
# Urgent issues
For urgent issues do not hesitate to [champion a
release](https://github.com/sponsors/qos-ch/sponsorships?tier_id=77436).
In principle, most championed issues are solved within 3 business days
followed up by a release.
# Pull requests
If you are interested in improving logback, that is great! The logback
community looks forward to your contribution. Please follow this process:
1. Fork qos-ch/logback. Ideally, create a new branch from your fork for
your contribution to make it easier to merge your changes back.
2. Make the effort to explain the aim of your proposed change.
3. Make your changes on the branch you hopefully created in Step 2. Be
sure that your code passes existing unit tests.
4. Please add unit tests for your work if appropriate. It usually is.
5. Push your changes to your fork/branch in GitHub. Don't push it to
your master! If you do it will make it harder to submit new changes
later.
6. Submit a pull request to logback from your commit page on GitHub.
7. Do not forget to explain your proposed changes.
<!--
# Continuous integration build status
| Branch | Last results |
| ------ | -------------|
| master | ![CI master](https://github.com/qos-ch/logback/actions/workflows/main.yml/badge.svg) |
-->
", Assign "at most 3 tags" to the expected json: {"id":"5352","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"