gpt4 book ai didi

java - Jboss 和 Spring 中的 Logback 经典

转载 作者:行者123 更新时间:2023-12-02 07:12:56 25 4
gpt4 key购买 nike

我正在开发一个项目,我想尝试使用 logback-classic 进行调试和日志轮换。我在 Maven 上下文中使用它来构建和创建要部署在 JBoss 7.1 应用服务器中的 .war 文件。

我已将 logback.xml 文件放置在代码的 resources 文件夹中,并将 logback-test.xml 文件放置在 test/resources 中。

我使用的 Activity jar 是 SLF4J 来打印实际的调试信息。

public class MyClass extends MultiActionController {
private Logger logger = LoggerFactory.getLogger(MyClass.class);

public MyClass() {
logger.debug("hello");
}
}

当我在 Maven 本身的代码上运行 JUnit 测试时,它可以工作,但是在构建 .war 文件后,我在 STDOUT 中没有得到任何调试,也找不到创建的文件。

我知道我已经从配置文件中的 STDOUT 中删除了实际日志记录,但是日志记录在哪里......

logback.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>logs/myproject.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>

<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyMMdd HH:mm:ss.SSS} [%-5.5level] [%-25.25logger] %msg%n</pattern>
</encoder>
</appender>

<root level="debug">
<appender-ref ref="FILE" />
</root>
</configuration>

文件夹“logs”我需要在 JBoss 实例中显式创建它还是需要相对于它进行引用才能正常工作?或者我错过了什么?我需要将 logback.xml 文件放入 JBoss 实例中吗?

最好的,亨里克

最佳答案

首先,您应该确保 logback.xml 位于类路径中,例如WEB-INF/classes/logback.xmlChapter 3: Logback configuration 中提到的.

Chapter 4: Appenders提到 FileAppenderRollingFileAppender 属性为

file *String* The name of the file to write to. If the file does not exist, it is created. On the MS Windows platform users frequently forget to escape back slashes. For example, the value c:\temp\test.log is not likely to be interpreted properly as '\t' is an escape sequence interpreted as a single tab character (\u0009). Correct values can be specified as c:/temp/test.log or alternatively as c:\temp\test.log. The File option has no default value. If the parent directory of the file does not exist, FileAppender will automatically create it, including any necessary but nonexistent parent directories.

logback.xml 的示例如下:-

<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logFile.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>

<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>

<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>

<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
</configuration>

希望这会有所帮助。

关于java - Jboss 和 Spring 中的 Logback 经典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15288212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com