Maven:
<dependency>
<groupId>avalon-framework</groupId>
<artifactId>logkit</artifactId>
<version>2.1</version>
</dependency>
Gradle:
groovy
implementation 'avalon-framework:logkit:2.1'
import org.apache.log.Hierarchy;
import org.apache.log.Logger;
public class LogExample {
private static final Logger logger = Hierarchy.getDefaultHierarchy().getLoggerFor("com.example");
public static void main(String[] args) {
logger.debug("This is a debug message");
logger.info("This is an info message");
logger.warn("This is a warning message");
logger.error("This is an error message");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE logkit PUBLIC "-//Apache Software Foundation//DTD Log4j Configuration//EN" "http://jakarta.apache.org/log4j/docs/dtd/log4j.dtd">
<logkit>
<category name="com.example">
<priority value="DEBUG"/>
</category>
<logger name="root">
<priority value="INFO"/>
</logger>
</logkit>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE logkit PUBLIC "-//Apache Software Foundation//DTD Log4j Configuration//EN" "http://jakarta.apache.org/log4j/docs/dtd/log4j.dtd">
<logkit>
<appender name="fileAppender" class="org.apache.log.output.io.FileOutputLogTarget">
<param name="filename" value="logs/application.log"/>
<param name="append" value="true"/>
<param name="bufferedIO" value="true"/>
<param name="threshold" value="DEBUG"/>
<param name="logger" value="com.example"/>
<layout class="org.apache.log.format.PatternFormatter">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] [%C{1}] - %m%n"/>
</layout>
</appender>
<logger name="root">
<priority value="INFO"/>
<appender-ref ref="fileAppender"/>
</logger>
</logkit>