Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can java.util.logging be configured to use compressed log files?

Tags:

java

logging

Is it possible to configure java.util.logging to compress log files when it "rolls" onto using a new log file? For example, an extract from my log configuration file looks like this:

java.util.logging.FileHandler.level     = ALL
java.util.logging.FileHandler.pattern   = /blah.log
java.util.logging.FileHandler.limit     = 10000000
java.util.logging.FileHandler.count     = 5

Ideally I would like current log messages to be written to blah.log.0 whilst retaining blah.log.1.gz, blah.log.2.gz, etc.

Also please note that I do not wish to use a different logging framework.

like image 529
Adamski Avatar asked Oct 07 '09 08:10

Adamski


People also ask

What is the use of Java Util logging?

util. logging. A Filter can be used to provide fine grain control over what is logged, beyond the control provided by log levels.

Does Java Util logging use log4j?

The JDK Logging Adapter is a custom implementation of java. util. logging. LogManager that uses Log4j.

Does Java have built in logging?

Java provides a built-in framework in the java. util. logging package. There are also many third-party frameworks, including Log4j, Logback, and tinylog.


3 Answers

Yes but you must write your own file handler. Just copy the source code for FileHandler into your project (you can't extend the class in any useful way) and modify the open() method of MeteredStream.

After that, just use the normal configuration to use your new handler.

like image 52
Aaron Digulla Avatar answered Sep 28 '22 09:09

Aaron Digulla


No, not without writing it yourself, but what you can do is schedule a cron job that does this regularly. This would probably be the quickest solution.

like image 21
Taylor Leese Avatar answered Sep 28 '22 09:09

Taylor Leese


I doubt it is available with in Java logging framework. You can setup a shell script which compresses all the previous log files everyday night.

If you really want to do it in java, you might have to write your own filehandler.
Check the method which creates a new file and try to compress the previous one.

like image 23
Thejesh GN Avatar answered Sep 28 '22 09:09

Thejesh GN