Java Log4j不';不能在文件中写入
我正在尝试使用log4j-1.2.8.jar在文件中编写日志 这是我的log4j.properties文件,它位于类路径中Java Log4j不';不能在文件中写入,java,logging,log4j,Java,Logging,Log4j,我正在尝试使用log4j-1.2.8.jar在文件中编写日志 这是我的log4j.properties文件,它位于类路径中 log4j.rootLogger=INFO, file # Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=C:\\temp\\loging.log log4j.appender.file.
log4j.rootLogger=INFO, file
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\temp\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.logger.mypackage.com=DEBUG, myappender
log4j.additivity.mypackage.com=false
log4j.appender.myappender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myappender.datePattern='-'dd'.log'
log4j.appender.myappender.File=C:\\temp\\loging2.log
log4j.appender.myappender.layout=org.apache.log4j.PatternLayout
log4j.appender.myappender.layout.ConversionPattern=%-6r %d{ISO8601} %-5p %40.40c %x - %m\n
这是一段java代码,我试图将其输出到文件中:
public class MyClass implements Serializable
{
private static Logger logger=Logger.getRootLogger();
....
private void myMethod() {
....
logger.info("info"+sql);
....
}
}
文件没有创建,我得到的唯一输出是在控制台中。
有什么问题吗
非常感谢这里是我们的log4j属性文件之一的一个片段: log4j.appender.ConsoleFileAppender.File=${user.home}/.bqjdbc/bqjdbconsole.log 这将使日志文件位于user.home下,因此它也可以在linux上运行。 如果您在windows上的用户名为“JEFF”,则将在以下路径下创建一个文件夹:
C:\Users\JEFF\
希望这会有所帮助。我刚刚检查了您的代码。而且效果非常好
尝试更改日志文件的路径,可能您没有在这些位置写入的权限 代码工作正常,因此您缺少了一些东西。 确保文件名为正确的log4j.properties(例如,在netbeans中,一个常见错误是创建属性文件e放入属性扩展名,从而生成log4j.properties.properties)
希望这能有所帮助。为了补充上述答案,请确保
log4j.properties
文件存储在src文件夹中。否则它将不会被拾取,并且将调用默认值 我也遇到了类似的问题,并注意到这些问题与所附的.jar有关。如果您将slf4j与log4j一起使用,那么请删除slf4j-simple.jar(如果添加了),并确保您的类路径中有slf4j-log4j12-xx.jar。这对我来说很好。你的代码完全没有问题。你的临时工可以是windows/temp吗?