java - How do I get this RoutingAppender to work correctly, in Log4J ? -
i have following log4j xml file :
<?xml version="1.0" encoding="utf-8"?> <configuration status="warn"> <appenders> <console name="console" target="system_out"> <patternlayout pattern="%d{hh:mm:ss.sss} [%t] %-5level %logger{36} - %msg%n"/> </console> <file name="myfile" filename="outputlogfile.log" immediateflush="false" append="false"> <patternlayout pattern="%d{yyy-mm-dd hh:mm:ss.sss} [%t] %-5level %logger{36} - %msg%n"/> </file> <flume name="auditlogger" compress="true"> <!-- <agent host="localhost" port="8800"/> <rfc5424layout enterprisenumber="18060" includemdc="true" appname="myapp"/> --> </flume> <routing name="routing"> <routes pattern="$${sd:type}"> <route> <rollingfile name="rolling-${sd:type}" filename="${sd:type}.log" filepattern="${sd:type}.%i.log.gz"> <patternlayout> <pattern>%d %p %c{1.} [%t] %m%n</pattern> </patternlayout> <sizebasedtriggeringpolicy size="100" /> </rollingfile> </route> <!-- <route ref="auditlogger" key="audit"/> --> </routes> </routing> </appenders> <loggers> <root level="all"> <appender-ref ref="console"/> <appender-ref ref="myfile"/> <!-- added_in --> </root> </loggers> </configuration>
is way implement routingappender? goal break logging , when application logs (with logger.debug("this debug");
) messages, break log files many separate logs (something logoutput1.log , logoutput2.log , logoutput3.log , etc. ).
but seems i'm missing idea here. apache flume doesn't work me, , i've been getting eror :
exception in thread "main" java.lang.noclassdeffounderror: org/apache/flume/even t @ java.lang.class.getdeclaredmethods0(native method) @ java.lang.class.privategetdeclaredmethods(unknown source) @ java.lang.class.getdeclaredmethods(unknown source) @ org.apache.logging.log4j.core.config.plugins.util.pluginbuilder.creat ebuilder(pluginbuilder.java:154) @ org.apache.logging.log4j.core.config.plugins.util.pluginbuilder.build (pluginbuilder.java:120) @ org.apache.logging.log4j.core.config.abstractconfiguration.createplug inobject(abstractconfiguration.java:766) @ org.apache.logging.log4j.core.config.abstractconfiguration.createconf iguration(abstractconfiguration.java:706) @ org.apache.logging.log4j.core.config.abstractconfiguration.createconf iguration(abstractconfiguration.java:698) @ org.apache.logging.log4j.core.config.abstractconfiguration.doconfigur e(abstractconfiguration.java:358) @ org.apache.logging.log4j.core.config.abstractconfiguration.start(abst ractconfiguration.java:161) @ org.apache.logging.log4j.core.loggercontext.setconfiguration(loggerco ntext.java:361) @ org.apache.logging.log4j.core.loggercontext.reconfigure(loggercontext .java:426) @ org.apache.logging.log4j.core.loggercontext.reconfigure(loggercontext .java:442) @ org.apache.logging.log4j.core.loggercontext.start(loggercontext.java: 138) @ org.apache.logging.log4j.core.impl.log4jcontextfactory.getcontext(log 4jcontextfactory.java:207) @ org.apache.logging.log4j.core.impl.log4jcontextfactory.getcontext(log 4jcontextfactory.java:41) @ org.apache.logging.log4j.logmanager.getcontext(logmanager.java:160) @ org.apache.logging.log4j.logmanager.getlogger(logmanager.java:492) @ sample_server.<clinit>(sample_server.java:26) caused by: java.lang.classnotfoundexception: org.apache.flume.event @ java.net.urlclassloader$1.run(unknown source) @ java.net.urlclassloader$1.run(unknown source) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(unknown source) @ java.lang.classloader.loadclass(unknown source) @ sun.misc.launcher$appclassloader.loadclass(unknown source) @ java.lang.classloader.loadclass(unknown source) ... 19 more
any tips /hints appreciated , thanks/
Comments
Post a Comment