Java Log4j不';不能在文件中写入

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-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.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吗?