日志测试报错
来源:4-3 logback配置的验证
敏捷丶
2020-02-29 14:25:25
logback.xml
<?xml version="1.0" encoding="UTF-8" ?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <!--定义参数常量--> <property name="log.level" value="debug"/> <property name="log.maxHistory" value="30"/> <property name="log.filePath" value="${catalina.base}/logs/webapps"/> <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}-%msg%n"/> <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${log.pattern}</pattern> </encoder> </appender> <appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.filePath}/debug.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern> ${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz </fileNamePattern> <maxHistory>${log.maxHistory}</maxHistory> </rollingPolicy> <encoder> <pattern>${log.filePath}</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.filePath}/info.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern> ${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz </fileNamePattern> <maxHistory>${log.maxHistory}</maxHistory> </rollingPolicy> <encoder> <pattern>${log.filePath}</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.filePath}/error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern> ${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz </fileNamePattern> <maxHistory>${log.maxHistory}</maxHistory> </rollingPolicy> <encoder> <pattern>${log.filePath}</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <logger name="com.marc.o2o" level="${log.level}" additivity="true"> <appender-ref ref="debugAppender"/> <appender-ref ref="infoAppender"/> <appender-ref ref="errorAppender"/> </logger> <root level="info"> <appender-ref ref="consoleAppender"/> </root> </configuration>
AreaController
package com.marc.o2o.web.superadmin; import com.marc.o2o.entity.Area; import com.marc.o2o.service.AreaService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller @RequestMapping("/superadmin") public class AreaController { Logger logger = LoggerFactory.getLogger(AreaController.class); @Autowired private AreaService areaService; @RequestMapping(value = "/listarea",method = RequestMethod.GET) @ResponseBody private Map<String,Object> listArea(){ logger.info("======start======"); long startTime = System.currentTimeMillis(); Map<String,Object> modelMap = new HashMap<String, Object>(); List<Area> list = new ArrayList<Area>(); try{ list = areaService.getAreaList(); modelMap.put("rows",list); modelMap.put("total",list.size()); }catch (Exception e){ e.printStackTrace(); modelMap.put("success",false); modelMap.put("errMsg",e.toString()); } logger.error("test error!"); long endTime = System.currentTimeMillis(); logger.debug("costTime:[{}ms]",endTime - startTime); logger.info("======end======"); return modelMap; } }
控制台信息
J:\apache-tomcat-8.5.50\bin\catalina.bat run [2020-02-29 02:14:53,818] Artifact o2o:war: Waiting for server connection to start artifact deployment... Using CATALINA_BASE: "C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o" Using CATALINA_HOME: "J:\apache-tomcat-8.5.50" Using CATALINA_TMPDIR: "J:\apache-tomcat-8.5.50\temp" Using JRE_HOME: "J:\jdk1.8.0_101" Using CLASSPATH: "J:\apache-tomcat-8.5.50\bin\bootstrap.jar;J:\apache-tomcat-8.5.50\bin\tomcat-juli.jar" 29-Feb-2020 14:14:55.793 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/8.5.50 29-Feb-2020 14:14:55.797 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Dec 7 2019 19:19:46 UTC 29-Feb-2020 14:14:55.797 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号(:8.5.50.0 29-Feb-2020 14:14:55.797 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows 10 29-Feb-2020 14:14:55.797 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 29-Feb-2020 14:14:55.797 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 29-Feb-2020 14:14:55.797 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: J:\jdk1.8.0_101\jre 29-Feb-2020 14:14:55.797 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM 版本: 1.8.0_101-b13 29-Feb-2020 14:14:55.797 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 29-Feb-2020 14:14:55.797 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o 29-Feb-2020 14:14:55.797 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: J:\apache-tomcat-8.5.50 29-Feb-2020 14:14:55.798 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o\conf\logging.properties 29-Feb-2020 14:14:55.798 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 29-Feb-2020 14:14:55.798 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dfile.encoding=UTF-8 29-Feb-2020 14:14:55.798 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote= 29-Feb-2020 14:14:55.798 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099 29-Feb-2020 14:14:55.798 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false 29-Feb-2020 14:14:55.799 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.password.file=C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o\jmxremote.password 29-Feb-2020 14:14:55.799 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.access.file=C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o\jmxremote.access 29-Feb-2020 14:14:55.799 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1 29-Feb-2020 14:14:55.799 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048 29-Feb-2020 14:14:55.799 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 29-Feb-2020 14:14:55.799 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs= 29-Feb-2020 14:14:55.799 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o 29-Feb-2020 14:14:55.799 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=J:\apache-tomcat-8.5.50 29-Feb-2020 14:14:55.799 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=J:\apache-tomcat-8.5.50\temp 29-Feb-2020 14:14:55.799 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.23] using APR version [1.7.0]. 29-Feb-2020 14:14:55.801 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 29-Feb-2020 14:14:55.801 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true] 29-Feb-2020 14:14:55.809 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1c 28 May 2019] 29-Feb-2020 14:14:55.948 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"] 29-Feb-2020 14:14:55.983 信息 [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 29-Feb-2020 14:14:55.998 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["ajp-nio-8009"] 29-Feb-2020 14:14:56.008 信息 [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 29-Feb-2020 14:14:56.010 信息 [main] org.apache.catalina.startup.Catalina.load Initialization processed in 795 ms 29-Feb-2020 14:14:56.079 信息 [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina] 29-Feb-2020 14:14:56.079 信息 [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.50 29-Feb-2020 14:14:56.102 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"] 29-Feb-2020 14:14:56.125 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["ajp-nio-8009"] 29-Feb-2020 14:14:56.130 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 119 ms Connected to server [2020-02-29 02:14:56,525] Artifact o2o:war: Artifact is being deployed, please wait... 14:14:59,591 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml] 14:14:59,592 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy] 14:14:59,593 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/J:/apache-tomcat-8.5.50/webapps/o2o/WEB-INF/classes/logback.xml] 14:14:59,698 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set 14:14:59,706 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Will scan for changes in [file:/J:/apache-tomcat-8.5.50/webapps/o2o/WEB-INF/classes/logback.xml] 14:14:59,706 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeTask scanning period to 1 minutes 14:14:59,714 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] 14:14:59,724 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [consoleAppender] 14:14:59,733 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property 14:14:59,795 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender] 14:14:59,801 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [debugAppender] 14:14:59,816 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1340000802 - Will use gz compression 14:14:59,818 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1340000802 - Will use the pattern C:/Users/51768/.IntelliJIdea2019.2/system/tomcat/Unnamed_o2o/logs/webapps/debug/debug.%d{yyyy-MM-dd}.log for the active file 14:14:59,825 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'C:/Users/51768/.IntelliJIdea2019.2/system/tomcat/Unnamed_o2o/logs/webapps/debug/debug.%d{yyyy-MM-dd}.log.gz'. 14:14:59,825 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight. 14:14:59,826 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Sat Feb 29 14:14:59 CST 2020 14:14:59,828 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property 14:14:59,830 |-ERROR in ch.qos.logback.classic.PatternLayout("C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps") - Failed to parse pattern "C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps". ch.qos.logback.core.spi.ScanException: Failed to initialize Parser at ch.qos.logback.core.spi.ScanException: Failed to initialize Parser at at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:70) at at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:62) at at ch.qos.logback.core.pattern.PatternLayoutBase.start(PatternLayoutBase.java:79) at at ch.qos.logback.classic.encoder.PatternLayoutEncoder.start(PatternLayoutEncoder.java:28) at at ch.qos.logback.core.joran.action.NestedComplexPropertyIA.end(NestedComplexPropertyIA.java:161) at at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309) at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193) at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179) at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53) at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75) at at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150) at at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84) at at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55) at at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150) at at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124) at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412) at at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addStatus(StatusViaSLF4JLoggerFactory.java:32) at at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addInfo(StatusViaSLF4JLoggerFactory.java:20) at at ch.qos.logback.classic.servlet.LogbackServletContainerInitializer.onStartup(LogbackServletContainerInitializer.java:32) at at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) at at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743) at at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719) at at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705) at at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1720) 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 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287) at at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:479) at at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:428) 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 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287) at at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) at at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) at at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) at at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) at at java.security.AccessController.doPrivileged(Native Method) at at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408) at at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) 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.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:324) at at sun.rmi.transport.Transport$1.run(Transport.java:200) at at sun.rmi.transport.Transport$1.run(Transport.java:197) at at java.security.AccessController.doPrivileged(Native Method) at at sun.rmi.transport.Transport.serviceCall(Transport.java:196) at at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) at at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) at at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) at at java.security.AccessController.doPrivileged(Native Method) at at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) at at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalArgumentException: Illegal char 'U at column 4. Only \\, \_, \%, \(, \), \t, \n, \r combinations are allowed as escape characters. at at ch.qos.logback.core.pattern.util.RegularEscapeUtil.escape(RegularEscapeUtil.java:45) at at ch.qos.logback.core.pattern.parser.TokenStream.escape(TokenStream.java:218) at at ch.qos.logback.core.pattern.parser.TokenStream.handleLiteralState(TokenStream.java:165) at at ch.qos.logback.core.pattern.parser.TokenStream.tokenize(TokenStream.java:86) at at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:68) at ... 68 common frames omitted 14:14:59,837 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[debugAppender] - Active log file name: C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps/debug.log 14:14:59,837 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[debugAppender] - File property is set to [C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps/debug.log] 14:14:59,841 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender] 14:14:59,841 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [infoAppender] 14:14:59,842 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1064074610 - Will use gz compression 14:14:59,842 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1064074610 - Will use the pattern C:/Users/51768/.IntelliJIdea2019.2/system/tomcat/Unnamed_o2o/logs/webapps/info/info.%d{yyyy-MM-dd}.log for the active file 14:14:59,843 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'C:/Users/51768/.IntelliJIdea2019.2/system/tomcat/Unnamed_o2o/logs/webapps/info/info.%d{yyyy-MM-dd}.log.gz'. 14:14:59,843 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight. 14:14:59,844 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Sat Feb 29 14:14:59 CST 2020 14:14:59,844 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property 14:14:59,844 |-ERROR in ch.qos.logback.classic.PatternLayout("C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps") - Failed to parse pattern "C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps". ch.qos.logback.core.spi.ScanException: Failed to initialize Parser at ch.qos.logback.core.spi.ScanException: Failed to initialize Parser at at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:70) at at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:62) at at ch.qos.logback.core.pattern.PatternLayoutBase.start(PatternLayoutBase.java:79) at at ch.qos.logback.classic.encoder.PatternLayoutEncoder.start(PatternLayoutEncoder.java:28) at at ch.qos.logback.core.joran.action.NestedComplexPropertyIA.end(NestedComplexPropertyIA.java:161) at at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309) at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193) at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179) at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53) at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75) at at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150) at at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84) at at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55) at at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150) at at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124) at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412) at at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addStatus(StatusViaSLF4JLoggerFactory.java:32) at at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addInfo(StatusViaSLF4JLoggerFactory.java:20) at at ch.qos.logback.classic.servlet.LogbackServletContainerInitializer.onStartup(LogbackServletContainerInitializer.java:32) at at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) at at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743) at at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719) at at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705) at at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1720) 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 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287) at at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:479) at at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:428) 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 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287) at at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) at at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) at at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) at at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) at at java.security.AccessController.doPrivileged(Native Method) at at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408) at at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) 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.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:324) at at sun.rmi.transport.Transport$1.run(Transport.java:200) at at sun.rmi.transport.Transport$1.run(Transport.java:197) at at java.security.AccessController.doPrivileged(Native Method) at at sun.rmi.transport.Transport.serviceCall(Transport.java:196) at at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) at at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) at at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) at at java.security.AccessController.doPrivileged(Native Method) at at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) at at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalArgumentException: Illegal char 'U at column 4. Only \\, \_, \%, \(, \), \t, \n, \r combinations are allowed as escape characters. at at ch.qos.logback.core.pattern.util.RegularEscapeUtil.escape(RegularEscapeUtil.java:45) at at ch.qos.logback.core.pattern.parser.TokenStream.escape(TokenStream.java:218) at at ch.qos.logback.core.pattern.parser.TokenStream.handleLiteralState(TokenStream.java:165) at at ch.qos.logback.core.pattern.parser.TokenStream.tokenize(TokenStream.java:86) at at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:68) at ... 68 common frames omitted 14:14:59,845 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[infoAppender] - Active log file name: C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps/info.log 14:14:59,845 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[infoAppender] - File property is set to [C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps/info.log] 14:14:59,846 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender] 14:14:59,846 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [errorAppender] 14:14:59,847 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@114962279 - Will use gz compression 14:14:59,847 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@114962279 - Will use the pattern C:/Users/51768/.IntelliJIdea2019.2/system/tomcat/Unnamed_o2o/logs/webapps/error/error.%d{yyyy-MM-dd}.log for the active file 14:14:59,847 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'C:/Users/51768/.IntelliJIdea2019.2/system/tomcat/Unnamed_o2o/logs/webapps/error/error.%d{yyyy-MM-dd}.log.gz'. 14:14:59,847 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight. 14:14:59,848 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Sat Feb 29 14:14:59 CST 2020 14:14:59,848 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property 14:14:59,848 |-ERROR in ch.qos.logback.classic.PatternLayout("C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps") - Failed to parse pattern "C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps". ch.qos.logback.core.spi.ScanException: Failed to initialize Parser at ch.qos.logback.core.spi.ScanException: Failed to initialize Parser at at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:70) at at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:62) at at ch.qos.logback.core.pattern.PatternLayoutBase.start(PatternLayoutBase.java:79) at at ch.qos.logback.classic.encoder.PatternLayoutEncoder.start(PatternLayoutEncoder.java:28) at at ch.qos.logback.core.joran.action.NestedComplexPropertyIA.end(NestedComplexPropertyIA.java:161) at at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309) at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193) at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179) at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53) at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75) at at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150) at at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84) at at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55) at at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150) at at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124) at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412) at at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addStatus(StatusViaSLF4JLoggerFactory.java:32) at at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addInfo(StatusViaSLF4JLoggerFactory.java:20) at at ch.qos.logback.classic.servlet.LogbackServletContainerInitializer.onStartup(LogbackServletContainerInitializer.java:32) at at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) at at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743) at at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719) at at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705) at at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1720) 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 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287) at at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:479) at at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:428) 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 org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287) at at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) at at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) at at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) at at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) at at java.security.AccessController.doPrivileged(Native Method) at at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408) at at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) 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.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:324) at at sun.rmi.transport.Transport$1.run(Transport.java:200) at at sun.rmi.transport.Transport$1.run(Transport.java:197) at at java.security.AccessController.doPrivileged(Native Method) at at sun.rmi.transport.Transport.serviceCall(Transport.java:196) at at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) at at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) at at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) at at java.security.AccessController.doPrivileged(Native Method) at at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) at at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalArgumentException: Illegal char 'U at column 4. Only \\, \_, \%, \(, \), \t, \n, \r combinations are allowed as escape characters. at at ch.qos.logback.core.pattern.util.RegularEscapeUtil.escape(RegularEscapeUtil.java:45) at at ch.qos.logback.core.pattern.parser.TokenStream.escape(TokenStream.java:218) at at ch.qos.logback.core.pattern.parser.TokenStream.handleLiteralState(TokenStream.java:165) at at ch.qos.logback.core.pattern.parser.TokenStream.tokenize(TokenStream.java:86) at at ch.qos.logback.core.pattern.parser.Parser.<init>(Parser.java:68) at ... 68 common frames omitted 14:14:59,849 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[errorAppender] - Active log file name: C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps/error.log 14:14:59,849 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[errorAppender] - File property is set to [C:\Users\51768\.IntelliJIdea2019.2\system\tomcat\Unnamed_o2o/logs/webapps/error.log] 14:14:59,850 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.marc.o2o] to DEBUG 14:14:59,850 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [com.marc.o2o] to true 14:14:59,850 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [debugAppender] to Logger[com.marc.o2o] 14:14:59,852 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [infoAppender] to Logger[com.marc.o2o] 14:14:59,852 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [errorAppender] to Logger[com.marc.o2o] 14:14:59,852 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO 14:14:59,852 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [consoleAppender] to Logger[ROOT] 14:14:59,852 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration. 14:14:59,854 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2e3b622f - Registering current configuration as safe fallback point 29-Feb-2020 14:15:00.059 信息 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 [2020-02-29 02:15:00,216] Artifact o2o:war: Artifact is deployed successfully [2020-02-29 02:15:00,217] Artifact o2o:war: Deploy took 3,692 milliseconds 29-Feb-2020 14:15:06.104 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [J:\apache-tomcat-8.5.50\webapps\manager] 29-Feb-2020 14:15:06.191 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [J:\apache-tomcat-8.5.50\webapps\manager] has finished in [84] ms
3回答
同学你好,log.filePath是指日志存储的根路径。log.pattern是指日志展示的格式,以某种格式输出日志。输入日志时应该以某种格式输出,但是同学写成了日志的输出路径,所以不能正确输出。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
敏捷丶
提问者
2020-02-29
解决了,是
<encoder> <pattern>${log.filePath}</pattern> </encoder>
这里配置错了,应该是
<encoder> <pattern>${log.pattern}</pattern> </encoder>
这句是什么意思?有什么影响?log.filePath和log.pattern的区别是什么?
敏捷丶
提问者
2020-02-29
另外,三个日志文件是生成了的,但没有信息
相似问题