hi :
I make a customer demo below,
package org.ops4j.pax.logging.file;
import java.util.Date;
import org.apache.log4j.RollingFileAppender;
import org.apache.log4j.helpers.CountingQuietWriter;
import org.apache.log4j.spi.LoggingEvent;
import org.ops4j.pax.logging.bo.Log;
public class FileAppender extends RollingFileAppender {
public FileAppender() {
}
private String format(LoggingEvent event) {
Log log = (Log) event.getMessage();
log.setThreadName(event.getThreadName());
log.setLocationInfo(event.getLocationInformation().fullInfo);
log.setLevel(event.getLevel().toString());
log.setTime(new Date(event.timeStamp));
log.setLoggerName(event.getLoggerName());
return log.toString();
}
protected void subAppend(LoggingEvent event) {
if (!(event.getMessage() instanceof Log)) {
return;
}
this.qw.write(format(event));
if (this.immediateFlush) {
this.qw.flush();
}
if ((fileName != null)
&& ((CountingQuietWriter) qw).getCount() >=
maxFileSize) {
this.rollOver();
}
}
}
and the content of the file 'MANIFEST.MF' is below:
Manifest-Version: 1.0
Built-By: Administrator
Tool: Bnd-0.0.357
Bundle-Name: Gzydt :: InfoShare :: Infoshare :: Logging
Created-By: Apache Maven Bundle Plugin
Bundle-Vendor: The Apache Software Foundation
Build-Jdk: 1.6.0_43
Bundle-Version: 0.0.1.SNAPSHOT
Bnd-LastModified: 1403420942423
Bundle-ManifestVersion: 2
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Bundle-Description: Subsystem - Bundle :: Infoshare - Logging
Bundle-SymbolicName: infoshare.logging
Bundle-DocURL: http://www.apache.org/
Import-Package: org.apache.log4j;version="1.2",org.osgi.framework;vers
ion="1.5"
I have already configured both 'org.ops4j.pax.logging.cfg' and
'startup.properties'
the file of 'org.ops4j.pax.logging.cfg' is:
# Root logger
log4j.rootLogger=INFO, file, osgi:VmLogAppender
log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
# CONSOLE appender not used by default
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p |
%-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} -
%X{bundle.version} | %m%n
# customer appender
log4j.appender.file=org.ops4j.pax.logging.file.FileAppender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p |
%-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} -
%X{bundle.version} | %m%n
log4j.appender.file.file=${karaf.data}/log/file.log
log4j.appender.file.append=true
log4j.appender.file.maxFileSize=1MB
log4j.appender.file.maxBackupIndex=10
the file of 'startup.properties' is
org/ops4j/pax/logging/pax-logging-sample-fragment/1.7.3-SNAPSHOT/pax-logging-sample-fragment-1.7.3-SNAPSHOT.jar=5
I test my appender ,but it doesn't work ,the log file which is named
'file.log' has nothing be written
I test code is :
public class Activator implements BundleActivator {
private static final Logger LOG =
Logger.getLogger("log4j.appender.file");
/*
* (non-Javadoc)
*
* @see
*
org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext
* )
*/
public void start(BundleContext context) throws Exception {
LOG.debug("test!!!");
LOG.info(context.getBundle().getSymbolicName() + "start!!");
}
is there anything wrong ???
--
View this message in context:
http://servicemix.396122.n5.nabble.com/how-to-use-the-ops4j-logging-tp5720883p5721028.html
Sent from the ServiceMix - Dev mailing list archive at Nabble.com.