日志测试报错

来源: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回答

好帮手慕阿满

2020-02-29

同学你好,log.filePath是指日志存储的根路径。log.pattern是指日志展示的格式,以某种格式输出日志。输入日志时应该以某种格式输出,但是同学写成了日志的输出路径,所以不能正确输出。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0

敏捷丶

提问者

2020-02-29

解决了,是

<encoder>
        <pattern>${log.filePath}</pattern>
</encoder>

这里配置错了,应该是

<encoder>
	<pattern>${log.pattern}</pattern>
</encoder>

这句是什么意思?有什么影响?log.filePath和log.pattern的区别是什么?

0

敏捷丶

提问者

2020-02-29

另外,三个日志文件是生成了的,但没有信息

0

0 学习 · 8263 问题

查看课程