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

Wildfly和logback(空行)

陈毅
2023-03-14

我正在尝试使用Wildfire 9的Logback。为此,我在WEB-INF文件夹中添加了一个jboss-deployment-structure.xml文件,其中包含以下内容(我还排除了Hibernate,以确保不拉出jboss-logging):

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <exclude-subsystems>
            <subsystem name="logging" />
        </exclude-subsystems>
        <exclusions>
            <module name="org.hibernate" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>

它工作得很好,只是我在每个日志之间有空行:

14:25:25,249 INFO  [org.jboss.as.jpa] (MSC service thread 1-8) WFLYJPA0002: Read persistence.xml for portalPU
14:25:25,253 INFO  [org.jboss.as.jpa] (MSC service thread 1-8) WFLYJPA0002: Read persistence.xml for emptyPU
14:25:25,631 INFO  [stdout] (MSC service thread 1-1) 14:25:25,556 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]

14:25:25,631 INFO  [stdout] (MSC service thread 1-1) 14:25:25,557 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]

和:

14:26:49,827 INFO  [stdout] (default task-2) 2016-05-03 14:26:49 [default task-2] DEBUG f.s.q.p.web.filters.InstallFilter -Users found: 1

14:26:50,676 INFO  [stdout] (default task-3) 2016-05-03 14:26:50 [default task-3] DEBUG f.s.q.p.web.filters.InstallFilter -Users found: 1

14:26:50,716 INFO  [stdout] (default task-4) 2016-05-03 14:26:50 [default task-4] DEBUG f.s.q.p.web.filters.InstallFilter -Users found: 1

14:26:50,760 INFO  [stdout] (default task-5) 2016-05-03 14:26:50 [default task-5] DEBUG f.s.q.p.web.filters.InstallFilter -Users found: 1

14:26:50,779 INFO  [stdout] (default task-6) 2016-05-03 14:26:50 [default task-6] DEBUG f.s.q.p.web.filters.InstallFilter -Users found: 1

14:26:51,162 INFO  [stdout] (default task-8) 2016-05-03 14:26:51 [default task-8] DEBUG f.s.q.p.web.filters.InstallFilter -Users found: 1

14:26:51,180 INFO  [stdout] (default task-7) 2016-05-03 14:26:51 [default task-7] DEBUG f.s.q.p.web.filters.InstallFilter -Users found: 1
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern><![CDATA[%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} -%msg%n]]></Pattern>
    </layout>
</appender>
formatter.COLOR-PATTERN=org.jboss.logmanager.formatters.PatternFormatter
formatter.COLOR-PATTERN.properties=pattern
formatter.COLOR-PATTERN.pattern=%K{level}%d{HH\:mm\:ss,SSS} %-5p [%c] (%t) %s%e%n

共有1个答案

包嘉懿
2023-03-14

由于WildFly将system.outsystem.err都包装在记录器中,如果您使用ConsoleAppender上的模式,这将导致打印两个行分隔符。您可以尝试从consoleappender中删除%n格式,并使用immediateFlush=true选项,也可以创建另一个控制台处理程序,该程序不会打印行分隔符,并将其分配给stdout

对于后者,这里有一些CLI命令可以实现这一点。

/subsystem=logging/pattern-formatter=stdout-pattern:add(pattern="%s")
/subsystem=logging/console-handler=stdout-console:add(autoflush=true, named-formatter=stdout-pattern, target=System.out)
/subsystem=logging/logger=stdout:add(handlers=[stdout-console], use-parent-handlers=false)

这些命令添加了一个模式,只打印传入消息(因为它是通过logbackconsoleappender格式化的,这应该可以工作)。然后创建一个新的console-handler,它使用该模式。最后,添加一个名为stdout的记录器,并为其分配处理程序。

 类似资料:
  • 我在wildfly8中运行web应用程序,但由于某些原因,它没有登录。我使用SLF4J与日志。日志文件是在部署时创建的,但它是空的。我在wildfly日志中也看不到我的日志语句。 该类包含: null 在我看来,LOGBACK配置成功。但日志消息会丢失。知道那里会发生什么吗?这让我毫无意义。

  • 我正在从GlassFish 4迁移到WildFly8应用程序服务器并收到以下错误: 我使用Hibernate空间和PostGIS。对于Glassfish服务器,我将postgis jar添加到 /lib/ext文件夹以修复该错误。 我按照本教程中的步骤:https://gist.github.com/bjornharrtell/3054462,但它对我不起作用,即我将这些模块添加到 /org/hi

  • 我正试图把我的头围绕在所有不同的日志记录工具(log4j、slf4j、logback、jcl等)和它们都做的事情上。 我知道slf4j是不同日志记录工具的一个门面,它使任何日志记录工具之间的切换变得很容易。但到了日志的话题,我就一头雾水了。我知道logback是log4j的后继者,在这篇文章中,它使用了“natively implements”这个词;那到底是什么意思。从我的理解是,日志与SLF4

  • 我当前正在尝试使用jboss wildfly运行arquillian测试,但在运行它时引发了java.lang.ArrayStoreException:sun.reflect.annotation.TypeNotPresentExceptionProxy异常。 我有以下配置: jboss Wildfly-8.1.0.cr1 derby 10.9.1.0 为了使用derby networkServe

  • 我需要控制日志框架的最大磁盘空间量。 例如,在log4j中,如果有如下所示的追加器,我可以很容易地估计需要多少磁盘空间: 对于maxFileSize和maxBackupIndex,我知道最多需要10x100KB。 我注意到DailyRollingFileAppender,但它不支持maxFileSize。 除了RollingFileAppender之外,是否还有其他fileappender可以实现

  • 我正在尝试使用groovy配置文件进行GraalVM编译的应用程序使用的logback。 当运行它并正常编译它时,一切都很好,但当我试图针对Graal进行编译时,我面临着一些我无法理解如何解决的问题。 因此,在没有任何特定配置传递给Graal的情况下,我在编译过程中遇到以下错误: 我尝试了非常懒惰的方法,通过这样做来允许在构建期间初始化类: 这只会导致其他各种与日志存储相关的类需要这个选项,所以我