首先说明下,这是一个Java SE程序,添加了maven管理。
pom.xml
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> </dependency>
java代码:
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class App { private static final Logger log = LoggerFactory.getLogger(App.class); public static void main(String[] args) { log.debug("Hello World!"); } }
log4j.properties
log4j.rootLogger=DEBUG,CONSOLE,A1,R,FILE1,FILE2,FILE3 log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=INFO log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n # 每天新建日志 log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender log4j.appender.A1.File=D\:/log4j.log log4j.appender.A1.Threshold=DEBUG log4j.appender.A1.DatePattern='.'yyyy-MM-dd log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}\:%L \: %m%n log4j.appender.R=org.apache.log4j.DailyRollingFileAppender #每天输出一个日志文件 log4j.appender.R.DatePattern='_'yyyy-MM-dd'.log' #昨天的日志文件名Sendmsg+“昨天日期”.log log4j.appender.R.File=D\:/log4j/debusssssg.log #日志文件的路径,${catalina.home} 即Tomcat下 log4j.appender.R.layout=org.apache.log4j.HTMLLayout #日志文件输出格式 #log4j.appender.R.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n #应用于文件 (调试文件) log4j.appender.FILE1=org.apache.log4j.FileAppender log4j.appender.FILE1.File=D\:/log4j/debug.log log4j.appender.FILE1.Threshold=DEBUG log4j.appender.FILE1.Append=true log4j.appender.FILE1.layout=org.apache.log4j.PatternLayout log4j.appender.FILE1.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n #应用于文件 (INFO文件) log4j.appender.FILE2=org.apache.log4j.FileAppender log4j.appender.FILE2.File=D\:/log4j/INFO.log log4j.appender.FILE2.Threshold=INFO log4j.appender.FILE2.Append=true log4j.appender.FILE2.layout=org.apache.log4j.PatternLayout log4j.appender.FILE2.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n #应用于文件 (错误文件) log4j.appender.FILE3=org.apache.log4j.FileAppender log4j.appender.FILE3.File=D\:/log4j/error.log log4j.appender.FILE3.Threshold=ERROR log4j.appender.FILE3.Append=false log4j.appender.FILE3.layout=org.apache.log4j.PatternLayout log4j.appender.FILE3.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
如果出现错误:
log4j:WARN No appenders could be found for logger
这是log4j.properties位置问题。在没有maven等框架管理的情况下,这个文件的位置应该是在src目录下。
如果是有了maven支持,就要把log4j.properties放在resources目录下。
参照来源【知名博主】:https://blog.csdn.net/fgx_123456/article/details/79225248