Skip to content

Instantly share code, notes, and snippets.

@linxiaobai
Last active March 27, 2019 05:39
Show Gist options
  • Save linxiaobai/00498295a7ca6dd2bd988fa553787e6c to your computer and use it in GitHub Desktop.
Save linxiaobai/00498295a7ca6dd2bd988fa553787e6c to your computer and use it in GitHub Desktop.
shade logback
shade logback注意logback.xml里的appender的class值也要填shade之后的全路径类名。
@linxiaobai
Copy link
Author

<appender name="rolling" class="com.enniu.nozdormu.ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/var/www/logs/nozdormu/bootstrap.log</file>
        <rollingPolicy class="com.enniu.nozdormu.ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>/var/www/logs/nozdormu/bootstrap-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!-- each file should be at most 100MB, keep 7 days worth of history, but at most 2GB -->
            <maxFileSize>100MB</maxFileSize>
            <maxHistory>7</maxHistory>
            <totalSizeCap>2GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <Pattern>${logMsgPattern}</Pattern>
        </encoder>
    </appender>

@linxiaobai
Copy link
Author

否则会抛下列错误:

qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type ch.qos.logback.core.ConsoleAppender
	at com.enniu.nozdormu.ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type ch.qos.logback.core.ConsoleAppender
	at 	at com.enniu.nozdormu.ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:69)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:45)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:34)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.joran.action.AppenderAction.begin(AppenderAction.java:52)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:269)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:145)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:128)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
	at 	at com.enniu.nozdormu.ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
	at 	at com.enniu.nozdormu.bootstrap.Slf4jLoggerAdapter.<clinit>(Slf4jLoggerAdapter.java:57)
	at 	at com.enniu.nozdormu.bootstrap.Slf4jLoggerFactory.getLogger(Slf4jLoggerFactory.java:32)
	at 	at com.navercorp.pinpoint.bootstrap.config.DefaultProfilerConfig.load(DefaultProfilerConfig.java:86)
	at 	at com.enniu.nozdormu.bootstrap.NozdormuStarter.start(NozdormuStarter.java:61)
	at 	at com.enniu.nozdormu.bootstrap.NozdormuBootStrap.premain(NozdormuBootStrap.java:41)
	at 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at 	at java.lang.reflect.Method.invoke(Method.java:498)
	at 	at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
	at 	at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.lang.ClassNotFoundException: ch.qos.logback.core.ConsoleAppender
	at 	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at 	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
	at 	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at 	at com.enniu.nozdormu.ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:56)
	at 	... 23 common frames omitted

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment