gpt4 book ai didi

java - Logback Groovy 配置速度慢

转载 作者:行者123 更新时间:2023-12-02 08:55:03 26 4
gpt4 key购买 nike

我一直在使用Logback Groovy配置,现在我发现这是启动非常慢的原因。 HelloWorld“应用程序”大约需要一秒钟。之前我没有注意到 Web 服务器的速度变慢,但现在当我经常需要运行一些相当简单的工具时,这是 Not Acceptable 。

Q1:我还是不敢相信,因为我的配置文件很小,而一秒却很大,所以有人可以确认一下吗?

我可以想象轻松地将除一部分之外的所有内容重写回 XML。有问题的部分是我自己的过滤器及其两种方法,例如

public class MyLogbackFilter extends Filter<ILoggingEvent> {
public MyLogbackFilter accept(String prefix, Level level) {...}
public MyLogbackFilter accept(String prefix, Level level) {...}
...
}

通过类似的方式配置

filter = new MyLogbackFilter()
.accept("com.example.pck1.Class1", TRACE)
.accept("com.example.pck1.Class2", TRACE)
.deny("com.example.pck1", TRACE)
.accept("", WARNING)
.deny("", INFO);

规则是自上而下评估的,例如,来自 com.example.pck1.Class1TRACE 级别或更高级别的所有内容都会被接受,无论稍后指定什么。

Q2:我可以以某种方式让 logback 读取配置文件吗

A com.example.pck1.Class1 TRACE
A com.example.pck1.Class2 TRACE
D com.example.pck1 TRACE
A * WARNING
D * INFO

并将其提供给我的类(class)?那么解释就很简单了。

最佳答案

真诚地,我从来不知道你可以按类创建appender,但是你可以只添加一个xml配置文件到你的项目中,logback库会尝试在类路径中找到xml(通常,在maven中,你将xml放入资源文件)。

文件可以是这样的:

    <?xml version="1.0" encoding="UTF-8"?>
<configuration>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/usr/java/logs/floresTrace.log</file>

<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>/path/to/file/myfile.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>3</maxIndex>
</rollingPolicy>

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>1MB</maxFileSize>
</triggeringPolicy>

<encoder>
<pattern>%d{YYYY-MM-dd HH:mm:ss} %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>

</appender>
<!-- you can, however add loggers by package here-->
<logger name="your.package.one" level="DEBUG">
<appender-ref ref="STDOUT" />
</logger>
<logger name="your.package.two" level="INFO">
<appender-ref ref="STDOUT" />
</logger>
<logger name="your.package.two" level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</logger>

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

因此,正如评论所说,您可以通过包添加记录器。希望这会有所帮助。

关于java - Logback Groovy 配置速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27183782/

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