当前位置: 首页 > 知识库问答 >
问题:

无法在Logback中将appender设置为logger

柯国安
2023-03-14

我有一个appender文件,并希望将org.springframwork和ch.qos.logback定向到这个日志文件。但是,当我在linux服务器上运行我的应用程序时,这两个包的INFO消息并没有进入日志文件,而是直接打印出来。以下是我的logback.xml:

<configuration debug="true">
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/>
<jmxConfigurator/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>log/myfile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <fileNamePattern>log/myfile.%i.log.gz</fileNamePattern>
        <minIndex>1</minIndex>
        <maxIndex>10</maxIndex>
    </rollingPolicy>
    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <maxFileSize>500MB</maxFileSize>
    </triggeringPolicy>
    <encoder>
        <pattern>%d{ISO8601} %-5p [%t] [%c{1}] - %m%n</pattern>
    </encoder>
</appender>
<root level="${log.level:-INFO}">
    <appender-ref ref="FILE"/>
</root>
<logger name="org.springframework" level="INFO">
    <appender-ref ref="FILE"/>
</logger>
<logger name="ch.qos.logback" level="INFO">
    <appender-ref ref="FILE"/>
</logger>

08:23:22,446-ch.qos.logback.classic.joran.joranConfigurator@1b83cfe9中的信息-将当前配置注册为安全回退点

Apr 09 2015 8:23:22 AM org.springframework.beans.factory.XML.xmlBeanDefinitionReader loadBeanDefinitions信息:从类路径资源[spring/spring-common.XML]加载XML bean定义

有人能帮忙指出我的配置有什么问题吗?谢谢你。

顺便说一句:我从日志记录文档中了解到,我不需要为记录器设置相同的appender-ref,否则它将被打印到相同的appender中两次。但是我从日志调试信息中看到,只有为logger设置appender-ref,它才会为logger设置appender。

共有1个答案

爱乐邦
2023-03-14

无法使用日志配置重定向ch.qos.Logback输出的第一个日志,因为此输出发生在Logback读取其配置->hen/egg样式问题时。

若要删除这些消息,请在XML中使用debug=“false”

org.springframework不使用日志,除非您为org.apache.commons.logging(这是Spring使用的日志框架)安装了桥接器。在http://www.slf4j.org/legacy.html的文档中查找jcl-over-Slf4j.jar

 类似资料:
  • 问题内容: 我正在尝试以编程方式设置Logback追加程序路径。(确切地说,带有FixedWindowRollingPolicy的RollingFileAppender) 之所以这样做,是因为我想让我的用户在首选项对话框(Eclipse RCP)中设置日志路径。 我已经尝试过类似的方法,但是我不会更改配置文件中定义的日志路径: 问题答案: 使用系统属性并重新加载配置文件看起来更干净: 更改logb

  • 我正在尝试使用Groovy为我的独立Java应用程序配置Logback SMTP appender。我的logback.groovy文件内容如下: 但此配置不起作用,它在应用程序启动过程中失败: 我无法理解这条信息的原因。如果我从config-application中删除SMTP Appender配置部分,就可以正常工作并记录日志。如何使SMTP附加与groovy配置一起工作? 我的环境是:Ubu

  • 我在logback.xml中定义了一个logback appender,它是一个DB appender,但是我想知道是否有任何方法可以使用我自己定义为bean的连接池在java中配置appender。 我发现了类似的事情,但从来没有真正的答案。

  • 问题内容: 我试图使用Jackson2ObjectMapperBuilderCustomizer将自定义问题处理程序添加到对象映射器: 但是当我自动装配ObjectMapper bean时,_problemHandlers属性为null。 我还尝试过使用以下命令自定义现有的ObjectMapper: 但是结果是一样的。我不知道谁可以删除此属性。我根本不会在另一个地方初始化对象映射器的其他构建器/工

  • 我使用的是log4j1。2.17和apache-extras-log4j--1.2。17.jar用于日志记录。 我的目的是根据大小对文件进行滚动和归档。下面是log4j。xml ${LOG_FILESIZE_LIMIT}是100MB。 但它没有将MaxFileSize设置为100MB,并给出以下消息。 log4j:警告无法将属性[maxFileSize]设置为值“100MB” 它采用默认的maxf

  • 我试图在logback中动态添加一个appender。这是我的代码。 它工作正常,但仅适用于添加追加器的特定记录器。有没有办法让它适用于应用程序中的所有记录器?我正在寻找一种动态添加和删除追加器的方法。