私はすでにstackoverflowとgoogleで検索していますが、私の問題はまだ解決されていません。 、Logback RollingFileAdapterがPayara Serverで期待どおりに機能しない
@Stateless
public class NotificatrionService implements INotificationService {
private final static Logger logger = LoggerFactory.getLogger("DEF");
private final static Logger logger_wsdlr = LoggerFactory.getLogger("wsdlr");
:
:
}
そして、特定のケースの下で私はPayara Server 4
(安定Glassfishの4)でそれぞれ1
:
logger_wsdlr.info("Some info messages");
:
logger.debug("Some debug messages"));
:
セットアップするにはlogbackを使用します。
問題:コードで
私はこれらのロガーを持っていますこの投稿の@vzamanilloさんが書いた指示に従ってください:
cannot get SLF4J working with glassfish 4
このガイド(または他の発見された)の人々は、ch.qos.logback.core.FileAppender
を使用します。このアペンダーのログバックはきちんと機能しますが、ログファイルをローテーションする必要があります。私は私のコードでRollingFileAppender
参照、を使用する場合
<configuration scan="true" debug="true">
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
<property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level][%thread][%logger{36}]%msg%n"/>
<property name="dir" value="/tmp/log"/>
<appender name="DEF" class="ch.qos.logback.core.FileAppender">
<file>${com.sun.aas.instanceRoot}/logs/my_def.log</file>
<append>true</append>
<encoder>
<Pattern>${pattern}</Pattern>
</encoder>
</appender>
<appender name="WSDLR" class="ch.qos.logback.core.RollingFileAppender">
<file>${dir}/dt_wsdlr.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${dir}/dt_wsdlr-%d{yyyy.MM.dd}.log</fileNamePattern>
<maxHistory>90</maxHistory>
<totalSizeCap>3GB</totalSizeCap>
</rollingPolicy>
<encoder>
<Pattern>${pattern}</Pattern>
</encoder>
</appender>
<!-- appender that replace payara default server.log, defualt was redirected to ${com.sun.aas.instanceRoot}/tmp/server.log -->
<appender name="GF" class="ch.qos.logback.core.FileAppender">
<file>${com.sun.aas.instanceRoot}/logs/server.log</file>
<append>true</append>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<encoder>
<Pattern>${pattern}</Pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="GF"/>
</root>
<logger level="TRACE" name="DEF" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<logger level="DEBUG" name="wsdlr" additivity="false">
<appender-ref ref="WSDLR"/>
</logger>
</configuration>
アペンダに関連付けられたファイルは、単純に作成されていなかったとログがちょうどが欠落:ちょうどこのような私のlogback.xml
でその後、私だけでセットアップch.qos.logback.core.rolling.RollingFileAppender
、。
私は上記の言及ポスト(@casten post)からの手順を適用しようが、ちょうど新しいエラーは、私はちょうど瓶の場所をロールバック
2017-04-07 10:49:25.297 [ERROR][Thread-20][j.e.system.tools.deployment.common]Exception while invoking class com.sun.enterprise.web.WebApplication start method
java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.NoClassDefFoundError: javax/servlet/ServletContainerInitializer
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:168)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:122)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:291)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:353)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:501)
at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:406)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.load(InstallerThread.java:211)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.run(InstallerThread.java:100)
2017-04-07 10:49:25.297 [ERROR][Thread-20][javax.enterprise.system.core]Exception during lifecycle processing
java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.NoClassDefFoundError: javax/servlet/ServletContainerInitializer
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:168)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:122)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:291)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:353)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:501)
at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:406)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.load(InstallerThread.java:211)
at com.sun.enterprise.v3.admin.adapter.InstallerThread.run(InstallerThread.java:100)
を上げました。
RollingFileAppender
を使用する正しい方法を見つけるお手伝いがありますか?
ありがとうございます!私に
問題が解決したことを示す正しい答え(自分のものであっても)としてマークしてください。 – OndrejM
申し訳ありませんが、投稿は削除されましたが、まだ生きています。 – Vielinko