
Hello Marten, I suggest you give the following config file a try: <configuration debug="true"> <appender name="efx" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${catalina.home}/logs/efx.log</File> <Append>false</Append> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${catalina.home}/logs/efx.%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%d %-5p [%logger] %msg%n</pattern> </layout> </appender> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%d %-5p [%logger] %msg%n</pattern> </layout> </appender> <!-- Performance interceptor --> <logger name="org.springframework.aop.interceptor.PerformanceMonitorInterceptor"> <level value="DEBUG"/> </logger> <!-- Logging for framework components. --> <logger name="org.springframework"> <level value="DEBUG"/> </logger> <logger name="org.springframework.webflow"> <level value="DEBUG"/> </logger> <logger name="httpclient.wire"> <level value="WARN"/> </logger> <logger name="org.codehaus.xfire"> <level value="WARN"/> </logger> <logger name="net.sf.ehcache"> <level value="WARN"/> </logger> <logger name="org.apache"> <level value="WARN"/> </logger> <logger name="org.acegisecurity"> <level value="INFO"/> </logger> <logger name="org.quartz"> <level value="WARN"/> </logger> <logger name="org.hibernate"> <level value="WARN"/> </logger> <root> <level value="INFO"/> <appender-ref ref="efx"/> <appender-ref ref="stdout"/> </root> </configuration> Compared to your config file, the above file 1) does not have <appender-ref> elements within <logger> definitions. 2) has the threshold option for the "efx" appender the removed (logback does not support thresholds although it supports filters) 3) the options for "efx" are listed before <rollingPolicy> element 4) the the <fileNamePattern> element contains "${catalina.home}/logs/efx.%d{yyyy-MM-dd}.log" instead of just yyyy-MM-dd Hope this helps, At 04:32 PM 12/20/2006, you wrote:
Hello Marten,
I've checked your configuration file, and it is almost ok. When configuring a RollingFileAppender, one option that needs to be given is the fileNamePattern. It is used to know how to rename files after the rollover has occured.
Your configuration files does contain the element, but its value was incorrect, here is something that you might use:
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <param name="fileNamePattern" value="efx%d{yyyy-MM-dd}" /> </rollingPolicy>
The absence of the %d{} around the date pattern is something that could cause logback not to configure itself correctly. It is something that is pretty different from log4j, which uses elements like:
log4j.appender.R.datePattern=.yyyy-MM-dd
without %d{} around the date pattern.
Our properties translator webapp actually translates correctly many different log4j configurations, but cannot inspect the values that the user choose to correct them... yet. :)
When configuring logback, you might try to add an attribute to the configuration element like this:
<configuration debug="true"> ... </configuration>
It will ouput the statuses of logback after it has configured itself from your configuration file. Status objects are a part of logback's powerful error reporting framework. It allows users to see what's going on in logback. By using the debug attribute, you would have seen this in the console:
|-ERROR in ch.qos.logback.core.joran.spi.Interpreter@544ec1 - Exception in Action for tag [rollingPolicy] java.lang.IllegalStateException: FileNamePattern [yyyy-MM-dd] does not contain a valid DateToken
Hope this helps,
Sébastien
Marten Deinum wrote:
Hello Sébastien, Thanks for taking the time to respond.
Sébastien Pennec wrote:
I've seen that you put commons-logging-1.1.jar *and* jcl104-over-slf4j-1.1.0-RC1.jar in commons/lib directory. ... On the other hand, intercepting Tomcat's own *internal* logging is something that we do not recommand at this time. That was one of the many feeble attemps to get logging working for our application, however I already removed them and now have just the logging tomcat provides (for tomcat that is). So no tomcat logging is going thru slf4j at the moment.
Sébastien Pennec wrote:
The information I gave you should allow you to configure and use logback as your logging implementation, for your application. I tried it with the jars and configuration you mentioned, however I still have no logging :-(. Currently I have the following logging jars and configuration WEB-INF/lib/slf4j-api-1.1.0-RC1.jar WEB-INF/lib/logback-core-0.7.1.jar WEB-INF/lib/logback-classic-0.7.1.jar WEB-INF/lib/jcl104-over-slf4j-1.1.0-RC1.jar (we use some libraries in our web-app which use/require commons-logging) WEB-INF/classes/logback.xml Here is the contents of my http://www.nabble.com/file/4968/logback.xml logback.xml file. It might be a configuration issue then? The configuration you see is the one generated (almost) with the configuration tool on the logback website. In the config I intentionally set the org.springframework logging to debug, it generates lots of debugging output, but alas I see none, not even a file is generated. Thanks again, kind regards, Marten
-- Sébastien Pennec sebastien@qos.ch
Logback: The reliable, generic, fast and flexible logging framework for Java. http://logback.qos.ch/ _______________________________________________ Logback-user mailing list Logback-user@qos.ch http://qos.ch/mailman/listinfo/logback-user
-- Ceki Gülcü Logback: The reliable, generic, fast and flexible logging framework for Java. http://logback.qos.ch