我正在使用SLF4J并根据要求我必须将日志存储到.log文件中.但是当我运行程序时,日志不会写入日志文件.
课程:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TestSLF4J {
// private static Logger _logger = LoggerFactory.getLogger(TestSLF4J.class);
private static Logger _logger = LoggerFactory.getLogger(TestSLF4J.class);
public static void main(String[] args) {
logger .debug("Sample debug message");
logger .info("Sample info message");
logger .warn("Sample warn message");
logger .error("Sample error message");
}
}
Run Code Online (Sandbox Code Playgroud)
log4j.properties
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.maxFileSize=100KB
log4j.appender.file.maxBackupIndex=5
log4j.appender.file.File=C:/checkLog.log
log4j.appender.file.threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=DEBUG,file
Run Code Online (Sandbox Code Playgroud)
我可以在控制台上看到信息,警告,错误但不是调试值.. !!
任何人都可以帮助我将日志存储到checkLog.log文件中.
我刚试过你给出的例子,它对我来说很好.有几件事我要检查/尝试:
检查你是否可以写入C的根: - 写下来:
log4j.appender.file.File=checkLog.log
Run Code Online (Sandbox Code Playgroud)
登录到当前文件夹
添加控制台记录器以查看它是否在控制台中工作:
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.maxFileSize=100KB
log4j.appender.file.maxBackupIndex=5
log4j.appender.file.File=checkLog.log
log4j.appender.file.threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=DEBUG,console,file
Run Code Online (Sandbox Code Playgroud)
运行应用程序时,您应该看到登录控制台和文件.
检查所有sl4j库是否在路径中 - 您将需要slf4j-api
和slf4j-log4j12
类路径上的jar
确保它log4j.properties
在类路径上
希望这可以帮助.
归档时间: |
|
查看次数: |
32810 次 |
最近记录: |