2017-02-26 41 views
2

我正在處理java web項目。我使用Wildfly 10.我想用它與logback。我做了一些配置:登錄Jboss時重複記錄前綴和新行

的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的部署,structure.xml

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

的問題是,我期待輸入像:

[2017年2月26日12:32:23671] [Server服務線程池 - 179] [DEBUG] [o.springframework.jndi.JndiTemplate] - 仰望JNDI

但我發現了:

12:32:23,671 INFO [stdout](ServerService線程池 - 179)[2017-02-26 12:32:23,671] [ServerService線程池 - 179] [DEBUG] [o。 springframework.jndi.JndiTemplate] - 查找JNDI

所以它看起來像jboss在開始時添加了一些東西。如何預防它?

+0

如果您只是使用'ConsoleAppender',您是否有理由使用logback而不僅僅是使用日誌子系統? –

+0

它只是現在..也有文件appender肯定... –

回答

4

WildFly在記錄器中包裝了System.outSystem.err。如果要使用寫入任一流的appender或處理程序,則需要使用java.io.FileDescriptor.out(或err),或者需要爲stdoutstderr創建記錄器類別,併爲記錄器分配新的console-handler

/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腳本應該從記錄器stdout中刪除默認模式。

+0

我連接jboss-cli.sh並運行這些命令...及其工作:)但在netbeans cosnole仍然有消息從jboss服務器... 是否有可能將這些命令放入配置文件或其他東西? –

+0

我對Netbeans插件瞭解不多,所以我不確定。我假設,如果你指向一個配置的服務器的路徑,它應該工作。 –