GitHub

Third Release Candidate of tinylog 2.1 is out

February 18, 2020

The previous release candidate was compiled with the class file version 53.0 instead of 50.0. Therefore, the second release candidate could only run on Java 9 and later. However, the third release candidate is again compiled with the class file version 50.0 and also runs on Java 6-8. Thanks to MairwunNx for reporting this issue.

Leave a comment

Second Release Candidate of tinylog 2.1 is out

February 17, 2020

In previous versions, tinylog replaced not only plain “{}” placeholders, but also curly brackets with any text between, when using third-party logging API. This caused incompatibilities with SLF4J, for example. Now, tinylog replaces only placeholders that are explicitly supported by the used third-party logging API.

In the new release candidate, it is possible to escape curly brackets or entire phrases by using single quotes, when issuing log entries with arguments via tinylog’s logging API.

Logger.info("Curly brackets as placeholder {} or escaped '{}'", value);

However, this feature has to be explicitly enabled in the configuration file for compatibility reasons.

escaping.enabled = true # default: false

Additionally, there is a class loader fix. If tinylog is initialized in a thread without a context class loader, tinylog can use the class loader from configuration class to avoid a NullPointerException. This fallback mechanism fixes an issue that was initially reported when using the Poynt SDK with tinylog.

Leave a comment

First Release Candidate of tinylog 2.1 is out

January 12, 2020

The first release candidate of tinylog 2.1 brings several improvements and new features for configuring tinylog, using tinylog with Scala, and outputting exceptions. All new improvements and features are ready to use. Further release candidates will only contain bug fixes. The first release candidate, for which no bugs are reported, will be released unchanged as the final version 2.1.0.

In the new version, it is possible to define default values for environment variables and system properties in configuration files for tinylog. These default values will be used if an environment variable and system property is not set to ensure that tinylog will work as expected nevertheless. Many thanks to simonsilvalauinger for the idea and implementation!

Already since the first version, tinylog loads the configuration from the properties file tinylog.properties automatically. With the new version, tinylog supports also tinylog-test.properties as configuration for tests and tinylog-dev.properties as configuration for development. This makes it easier to use different configurations for different environments. Details can be found in the configuration documentation.

The artifact of tinylog’s Scala API contains the Scala version now. This makes it easier to use and find the artifact. The new artifact name is org.tinylog:tinylog-api-scala_2.12:2.1.0-RC1.

The biggest new feature are throwable filters for filtering and transforming exceptions to get a clearer and more readable output. For example, it is possible to remove internal and generated stack trace elements from the stack trace or to unpack a RuntimeException to output only the exception that caused it. There are four configurable throwable filters, which can be adapted to meet individual requirements.

Leave a comment

tinylog 2.0.1 released

December 1, 2019

tinylog 2.0.1 includes a workaround for ProGuard to avoid incorrect removal of tinylog classes. Thus, tinylog can be used again without the rule “-dontshrink” with ProGuard. The required ProGuard rules for tinylog are documented on the configuration page. Many thanks to grill2010 for reporting this issue and great support with developing a workaround.

Additionally, all tinylog services (logging providers, writers, and policies) have default constructors now. This solves an issue with generating native images via GraalVM. Many thanks to MarkusKramer for reporting this problem. However, there still seem to be a few problems on GraalVM side to make native images really work.

Leave a comment

tinylog 2.0 released

August 21, 2019

After three years of development, this is it. tinylog 2.0 is here! Since no bugs were found for the second release candidate within one month, it can be released unchanged as the final version 2.0.0.

Leave a comment

Second Release Candidate of tinylog 2.0 is out

July 16, 2019

All JARs of tinylog are valid modules now. Thus, tinylog can be used easily in modular Java applications that are using the Java Platform Module System. For consistency, tinylog uses the new module names also as bundle names for OSGi.

Maven Artifact New Module/Bundle Name
tinylog-api org.tinylog.api
tinylog-api-kotlin org.tinylog.api.kotlin
tinylog-api-scala org.tinylog.api.scala
jcl-tinylog org.tinylog.api.jcl
log4j1.2-api org.tinylog.api.log4j12
jul-tinylog org.tinylog.api.jul
jboss-tinylog org.tinylog.api.jboss
slf4j-tinylog org.tinylog.api.slf4j
tinylog1.3-api org.tinylog.api.tinylog13
tinylog-impl org.tinylog.impl
tinylog-jul org.tinylog.adapter.jul
tinylog-jboss org.tinylog.adapter.jboss

Furthermore, the placeholder {timestamp} no longer inserts an SQL timestamp but a numeric UNIX timestamp in database tables. The placeholder {date} can be used for SQL timestamps.

Leave a comment

First Release Candidate of tinylog 2.0 is out

July 7, 2019

With the release of tinylog 2.0.0-RC1, tinylog 2 is feature complete. From now on, there will only be bug fixes. The first release candidate, for which no bugs are reported, will be released unchanged as the final version 2.0.0.

With the new version, tinylog brings support for the logging back-ends of all common web and application servers. The new artifact tinylog-jul can output log entries on Tomcat, Glassfish, and all other servers that use java.util.logging (JUL) as logging back-end. The second new artifact tinylog-jboss can output log entries on Wildfly, JBoss EAP, and all other servers that use JBoss Logging as logging back-end.

Both new artifacts can be used instead of tinylog-impl. It is also possible to use these server adapters together with tinylog-impl concurrently, if log entries should be output by tinylog as well as by the logging back-end of a server.

There is a new placeholder {timestamp} for outputting the UNIX timestamp of log entries. By default, the timestamp will be output in seconds. However, this placeholder is configurable and {timestamp: milliseconds} will output the timestamp in milliseconds. The new placeholder has been developed by ryanthon (thank you very much for the pull request!) and can be used like all other placeholders in a format pattern.

Leave a comment

Minor Update for SLF4J API

May 19, 2019

tinylog 2.0.0-M4.3 fixes a NullPointerException when passing null as marker via the SLF4J API. Thanks to Sander for reporting this issue.

Leave a comment

New Update for Fourth Milestone

April 1, 2019

tinylog 2.0.0-M4.2 renames the property tag of the logcat writer into tagname to avoid conflicts between tinylog tags and logcat tags. Thanks to mailz for identifying the collision of both types of tags.

Leave a comment

Minor Update for Fourth Milestone

March 24, 2019

It is no longer necessary to import org.tinylog.Supplier when using tinylog’s Scala logging API.

Leave a comment