
What is rolling file adaptor for tinylog?
The rolling file writer or adaptor is a tinylog’s writer which writes logs to rolling files. It keeps rotating files and you will have latest log files as per your configuration.
Example:

Let’s get started:
Step-1. Make sure you follow tinylog’s HelloWorld tutorial
Here is a link:
Step-2. Modify tinylog.properties file
writerCrunchifyRollingFile = rolling file
writerCrunchifyRollingFile.level = info
writerCrunchifyRollingFile.format = {date: HH:mm:ss.SSS} {level}: {message}
writerCrunchifyRollingFile.file = logs/crunchifyLog_{count}.log
writerCrunchifyRollingFile.latest = logs/crunchifyLog.log
writerCrunchifyRollingFile.charset = UTF-8
writerCrunchifyRollingFile.buffered = false
writerCrunchifyRollingFile.policies = startup, daily: 00:00, size: 1mb
writerCrunchifyRollingFile.backups = 100
writerCrunchifyRollingFile.convert = gzip
Here are all tinylog’s placeholders:
| Placeholder | Description |
|---|---|
| {count} | Consecutive number, starting with “0” |
| {date} | Current date and time. Optionally there can be a custom date format pattern such as “{date: HH:mm:ss.SSS}”. The date format pattern is compatible with SimpleDateFormat and on Java 9 (or higher), also with DateTimeFormatter that supports milliseconds and nanoseconds. The default date format pattern is “yyyy-MM-dd_HH-mm-ss”. |
| {pid} | Process ID of the application |
Here are all tinylog’s policies:
| Policies | Property Value | Description |
|---|---|---|
| Daily Policy | daily | Starts a new log file every day. The time can be defined in 24-hour clock time format, such as: daily: 03:00. The default is at midnight (00:00). Since tinylog 2.4, the time zone can be set explicitly (for example daily: 03:00@UTC). |
| Monthly Policy | monthly | Starts a new log file on the first day of each month. The time can be defined in 24-hour clock time format, such as: monthly: 03:00. The default is at midnight (00:00). This policy is available for tinylog 2.3 and later. Since tinylog 2.4, the time zone can be set explicitly (for example monthly: 03:00@UTC). |
| Size Policy | size | Starts a new log file when the current file exceeds the defined maximum file size. The definition of the file size is mandatory. For example, size: 10mb would start a new log file when the current exceeds 10 MB. |
| Startup Policy | startup | Starts a new log file at every startup of the application. |
Step-3. Write program to generate logs
- Create class CrunchifyTinyLogRollingFileWriter.java
package crunchify.com.java.tutorials;
import org.tinylog.Logger;
/**
* @author Crunchify.com
* Program: tinylog Rolling File Writer example
*
*/
public class CrunchifyTinyLogRollingFileWriter {
public static void main(String[] args) {
// create hello x 3 per line
String crunchifyRecord = "Howdy Cruncher! This is App Shah and welcome to Tinylog Tutorial! - INFO Log Level! ";
crunchifyRecord = crunchifyRecord + crunchifyRecord;
System.out.println(crunchifyRecord);
int crunchifyCounter = 0;
while (crunchifyCounter < 50000) {
Logger.info(crunchifyRecord + crunchifyCounter);
crunchifyCounter++;
}
System.out.println("Completed");
}
}
Step-4. Run above program to generate logs
Eclipse / IntelliJ IDEA console result.
Howdy Cruncher! This is App Shah and welcome to Tinylog Tutorial! - INFO Log Level! Howdy Cruncher! This is App Shah and welcome to Tinylog Tutorial! - INFO Log Level! Completed Process finished with exit code 0
Step-5. Verify rolling file logs
- Go to your project main folder
- Go to logs folder
- You will see
crunchifyLog.logfile and all zip files
Let me know if you face any issue running code.
The post tinylog – Rolling File Writer Tutorial appeared first on Crunchify.
0 Commentaires