First, change the pom.xml of Maven Project:
Add
<properties>
<log4j.version>1.2.17</log4j.version>
<properties>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
Second, add log4j.properties under the src/main/resources:
Add
log4j.properties
#定义LOG输出级别
log4j.rootLogger = INFO,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console = org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target = System.out
#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern = [%c] - %m%n
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定输出目录 未指定则在Eclipse安装目录下,此处为绝对路径F:/LOG_HOME/Bor-test.log
log4j.appender.File.File = F:/LOG_HOME/Bor-test.log
#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB
#输出所有日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern = [%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
Third, new App.java under the src/main/java:
Add
App.java
package com.foo.Bor;
import org.apache.log4j.Logger;
/**
* Print "Hello world!" With Log4j.
*/
public class App {
public static void main( String[] args ){
final Logger logger = Logger.getLogger(App.class);
logger.trace("trace:Log Begin!");
logger.debug("debug:Hello World!");
logger.info("info:Hello World!");
logger.warn("warn:Hello World!");
logger.error("error:Hello World!");
logger.trace("trace:Log End!");
}
}
Finally, run App.java as Java Application and we will see the result:
Run
App.java
Console output:
[com.foo.Bor.App] - info:Hello World!
[com.foo.Bor.App] - warn:Hello World!
[com.foo.Bor.App] - error:Hello World!
Only output the INFO, WARN and ERROR, because we set log4j.rootLogger = INFO, output the level higher than INFO.
File output:
Address at F:/LOG_HOME/Bor-test.log
[INFO] [2016-04-14 14:54:54][com.foo.Bor.App]info:Hello World!
[WARN] [2016-04-14 14:54:54][com.foo.Bor.App]warn:Hello World!
[ERROR] [2016-04-14 14:54:54][com.foo.Bor.App]error:Hello World!
That is all, have a try! I'd love to hear your comments and inputs.