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.

Reply via email to