Java log4j不写入文件,而是写入控制台

Java log4j不写入文件,而是写入控制台,java,logging,log4j,slf4j,log4j2,Java,Logging,Log4j,Slf4j,Log4j2,我在基于Linux的系统中编写了一个小应用程序,在这个系统中,我使用slf4j库作为日志记录器 导入org.slf4j.Logger; 导入org.slf4j.LoggerFactory 我可以看到日志在控制台中可见,但没有附加到日志文件中 我已检查了您的logback.xml文件配置。似乎缺少根标记(“配置”)。你能添加并检查它吗 请参阅我已检查了您的logback.xml文件配置。似乎缺少根标记(“配置”)。你能添加并检查它吗 请参阅您似乎遗漏了xml文件中的根标记。请查找以下代码

我在基于Linux的系统中编写了一个小应用程序,在这个系统中,我使用slf4j库作为日志记录器

导入org.slf4j.Logger; 导入org.slf4j.LoggerFactory

我可以看到日志在控制台中可见,但没有附加到日志文件中



我已检查了您的logback.xml文件配置。似乎缺少根标记(“配置”)。你能添加并检查它吗


请参阅

我已检查了您的logback.xml文件配置。似乎缺少根标记(“配置”)。你能添加并检查它吗


请参阅

您似乎遗漏了xml文件中的根标记。请查找以下代码以将日志写入文件

<appender name="file" class="org.apache.log4j.RollingFileAppender">
    <param name="append" value="false" />
    <param name="maxFileSize" value="128MB" />
    <param name="maxBackupIndex" value="20" />
    <param name="file" value="./logs/audit.log" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
    </layout>
</appender>

<root>
    <level value="INFO" />
    <appender-ref ref="file" />
</root>

您似乎遗漏了xml文件中的根标记。请查找以下代码以将日志写入文件

<appender name="file" class="org.apache.log4j.RollingFileAppender">
    <param name="append" value="false" />
    <param name="maxFileSize" value="128MB" />
    <param name="maxBackupIndex" value="20" />
    <param name="file" value="./logs/audit.log" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
    </layout>
</appender>

<root>
    <level value="INFO" />
    <appender-ref ref="file" />
</root>

问题中显示的配置为log4j 1.2格式

log4j2.xml
的格式不同。它是基于插件的,因此您不再需要指定附加器的类名


请参阅Log4j2。它有许多配置示例

问题中显示的配置为log4j 1.2格式

log4j2.xml
的格式不同。它是基于插件的,因此您不再需要指定附加器的类名


请参阅Log4j2。它有许多配置示例

已经确定,为了解决上述问题,我必须包括sl4j-log4j桥接jar,我包括了log4j和sl4j单独的jar,因此我看不到编译错误,但桥接没有实现


删除单个jar并添加桥接jar后,问题已经解决。

已经确定,我必须包括sl4j-log4j桥接jar来解决上述问题,我包括了log4j和sl4j单个jar,因此我看不到编译错误,但桥接没有实现


移除单个jar并添加桥接jar后,问题已经解决。

添加了如下所示的根标记,但没有运气
添加了如下所示的根标记,但是运气不好
请再试一件事,使用log4j.properties而不是log4j.xml。如果您需要,我可以提供属性文件。根据项目要求,我们必须使用log4j2.xml。抱歉。我以为你在用logback。如果您使用的是log4j2,那么配置应该放在log4j2.xml文件中,而不是log4j.xml文件中。对不起,我必须使用log4j.xml,您是否修复了它或仍然保留了它?请再试一件事,使用log4j.properties而不是log4j.xml。如果您需要,我可以提供属性文件。根据项目要求,我们必须使用log4j2.xml。抱歉。我以为你在用logback。如果您使用的是log4j2,那么配置应该放在log4j2.xml文件中,而不是log4j.xml文件中。对不起,我必须使用log4j.xml,您是否修复了它或仍然拥有它?