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

Jboss上的Logback在登录时复制前缀和新行

呼延辰龙
2023-03-14

我正在做java web项目。我用野花10。我想和logback一起使用。我做了一些配置:

pom.xml

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.24</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.1</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>1.2.1</version>
</dependency>

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender" >
        <encoder>
            <pattern>[%date] [%thread] [%-5level] [%logger{36}] - %msg%n </pattern>
        </encoder>
    </appender>

    <logger name="com.pr" level="debug" additivity="false">
        <appender-ref ref="STDOUT" />
    </logger>

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

jboss-deployment-structure.xml

<jboss-deployment-structure>
    <deployment>
        <exclude-subsystems>
            <subsystem name="logging" />
        </exclude-subsystems>
</deployment>
</jboss-deployment-structure>

问题是我期待这样的输出:

[2017-02-26 12:32:23,671][ServerService线程池--179][DEBUG][o.springframework.jndi.JndiTemplate]-查找JNDI

但我得到:

12: 32:23671信息[stdout](服务器服务线程池-179)[2017-02-26 12:32:23672][服务器服务线程库-179][调试][o.springframework.jndi.JNDTemplate]-查找jndi

所以看起来jboss在一开始就添加了一些东西。如何预防?

共有1个答案

乜璞瑜
2023-03-14

WildFly将这两个<code>都包装到系统中。输出和系统。记录器中的错误。如果要使用向任一流写入的追加器或处理程序,则需要使用<code>java.io.FileDescriptor。输出(或<code>err),或者您需要为<code>标准输出</code>或<code>标准输出创建一个记录器类别,以及一个新的<code>控制台处理程序</code>以分配给记录器。

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

上面的CLI脚本应该从记录器< code>stdout中删除默认模式。

standalone.xml中相应的表示如下:

<console-handler name="stdout" autoflush="true">
  <level name="ALL"/>
  <formatter>
    <pattern-formatter pattern="%s%n"/>
  </formatter>
</console-handler>
<logger category="stdout" use-parent-handlers="false">
  <level name="ALL"/>
  <handlers>
    <handler name="stdout"/>
  </handlers>
</logger>
 类似资料:
  • 问题内容: 我正在研究Java Web项目。我使用Wildfly10。我想将其与logback一起使用。我做了一些配置: pom.xml logback.xml jboss-deployment-structure.xml 问题是我期望输出如下: [2017-02-26 12:32:23,671] [ServerService线程池-179] [调试] [o.springframework.jnd

  • 我在使用logstash-logback-encoder的Logback时遇到了问题。 我的logback.xml: 我试图在我的项目主页中创建日志/开发: 如果我删除文件“logback.xml”,日志记录就会工作,所以日志记录实际上会发生,但它不存储在文件中。

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

  • 我需要实现前缀和算法,并且需要它尽可能快。 Ex: 应给出: 有没有办法使用SSE SIMD CPU指令做到这一点? 我的第一个想法是递归地并行求和每对,直到所有求和都像下面这样计算出来! 为了使算法更清楚一点,不是最终输出,而是用于计算输出。

  • 问题内容: 我正在迁移一个曾经使用log4j进行logback / slf4j的应用程序,并且已经出现问题约2周了……我做了一个小项目来测试logback / slf4j,它的工作效果很好,但是由于某种原因,在应用它时到实际的应用程序,它只是不想工作。 我正在使用JBoss 6.2,将EAR部署到standalone / deployments目录并启动服务器(除了我得到这个异常的事实,这一切都很

  • 我想运行一个Java应用程序。我使用JBoss服务器。我使用Maven。我使用Eclipse。我使用Eclipse将企业存档中的网络存档部署到服务器上。 对于小程序,我需要小程序的。applet.html的可访问文件夹中的类文件。我的想法是复制。class-从我的Web存档的目标文件夹到资源文件夹。所以我在Web-Maven-Project的pom.xml中添加了以下插件: 我想我把阶段和目标搞砸