java - Logback RollingFileAdapter does not work as expected in Payara Server -
i did search on stackoverflow , google alot, problem not solved yet.
problem:
in code have these loggers:
@stateless public class notificatrionservice implements inotificationservice { private final static logger logger = loggerfactory.getlogger("def"); private final static logger logger_wsdlr = loggerfactory.getlogger("wsdlr"); : : } and under cases use each one
: logger_wsdlr.info("some info messages"); : logger.debug("some debug messages")); : to setup logback payara server 4 (stable glassfish 4), follow instructions wrote @vzamanillo @ post:
cannot slf4j working glassfish 4
at guide (or other found) people use ch.qos.logback.core.fileappender. appender logback works pretty well, need rotate log files. setup ch.qos.logback.core.rolling.rollingfileappender in logback.xml, this:
<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 replace payara default server.log, defualt redirected ${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> when used rollingfileappender reference in code, the file associated appender did not have been created , logs missing.
i try apply steps post referred above (@casten post) new error raised
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 @ com.sun.enterprise.web.webapplication.start(webapplication.java:168) @ org.glassfish.internal.data.engineref.start(engineref.java:122) @ org.glassfish.internal.data.moduleinfo.start(moduleinfo.java:291) @ org.glassfish.internal.data.applicationinfo.start(applicationinfo.java:353) @ com.sun.enterprise.v3.server.applicationlifecycle.deploy(applicationlifecycle.java:501) @ com.sun.enterprise.v3.server.applicationloaderservice.processapplication(applicationloaderservice.java:406) @ com.sun.enterprise.v3.admin.adapter.installerthread.load(installerthread.java:211) @ 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 @ com.sun.enterprise.web.webapplication.start(webapplication.java:168) @ org.glassfish.internal.data.engineref.start(engineref.java:122) @ org.glassfish.internal.data.moduleinfo.start(moduleinfo.java:291) @ org.glassfish.internal.data.applicationinfo.start(applicationinfo.java:353) @ com.sun.enterprise.v3.server.applicationlifecycle.deploy(applicationlifecycle.java:501) @ com.sun.enterprise.v3.server.applicationloaderservice.processapplication(applicationloaderservice.java:406) @ com.sun.enterprise.v3.admin.adapter.installerthread.load(installerthread.java:211) @ com.sun.enterprise.v3.admin.adapter.installerthread.run(installerthread.java:100) i rollback jars location.
can me find right way use rollingfileappender?
thank in advance!
shame on me... problem typo ....
<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> the correct class reference ch.qos.logback.core.rolling.rollingfileappender instead of ch.qos.logback.core.rollingfileappender.
Comments
Post a Comment