<?xmlversion="1.0" encoding="UTF-8"?><configuration><timestampkey = "timePattern"datePattern = "yyyy-MM-dd"/><springPropertyscope="context"name="sysCode"source="open.tenant.code"defaultValue="default"/><springPropertyscope="context"name="appCode"source="spring.application.name"defaultValue="default"/><springPropertyscope="context"name="appInstGrpCode"source="spring.profiles.active"defaultValue="default"/><springPropertyscope="context"name="appInstId"source="open.tenant.instant-id"defaultValue=""/><propertyname="log.charset"value="UTF-8"/><propertyname="log.file-size"value="100 MB"/><appendername="debugConsoleWithColor"class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%highlight([%-5p]) %blue([${PID:- }]) %yellow([%date{yyyy-MM-dd HH:mm:ss.SSS}]) %green([${sysCode:-},${appCode:-},${appInstGrpCode:-},${appInstId:-}]) %magenta([%t] %-40.40logger{39}[%line]) : %cyan(%msg%n)</pattern><charset>${log.charset}</charset></encoder><filterclass="ch.qos.logback.classic.filter.ThresholdFilter"><level>debug</level></filter></appender><appendername="debugConsole"class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>[%-5p] [${PID:- }] [%date{yyyy-MM-dd HH:mm:ss.SSS}] [${sysCode:-},${appCode:-},${appInstGrpCode:-},${appInstId:-}] [%t] %-40.40logger{39} [%line] :%msg%n</pattern><charset>${log.charset}</charset></encoder><filterclass="ch.qos.logback.classic.filter.ThresholdFilter"><level>debug</level></filter></appender><appendername="info-file"class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>[%-5p] [${PID:- }] [%date{yyyy-MM-dd HH:mm:ss.SSS}] [${sysCode:-},${appCode:-},${appInstGrpCode:-},${appInstId:-}] [%t] %-40.40logger{39} [%line] :%msg%n </pattern><charset>${log.charset}</charset></encoder><rollingPolicyclass="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>/app/logs/%d{yyyy-MM-dd}/${appCode}/${appCode}-info.%i.log</fileNamePattern><MaxHistory>36</MaxHistory><timeBasedFileNamingAndTriggeringPolicyclass="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>${log.file-size}</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><filterclass="ch.qos.logback.classic.filter.ThresholdFilter"><level>info</level></filter></appender><appendername="error-file"class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>[%-5p] [${PID:- }] [%date{yyyy-MM-dd HH:mm:ss.SSS}] [${sysCode:-},${appCode:-},${appInstGrpCode:-},${appInstId:-}] [%t] %-40.40logger{39} [%line] :%msg%n </pattern><charset>${log.charset}</charset></encoder><rollingPolicyclass="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>/app/logs/%d{yyyy-MM-dd}/${appCode}/${appCode}-error.%i.log</fileNamePattern><MaxHistory>36</MaxHistory><timeBasedFileNamingAndTriggeringPolicyclass="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>${log.file-size}</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy><filterclass="ch.qos.logback.classic.filter.ThresholdFilter"><level>error</level></filter></appender><springProfilename="production||testing||pro||test"><rootlevel = "INFO"><appender-refref="debugConsole"/></root></springProfile><springProfilename="!(production||testing||pro||test)"><loggername="org.springframework.jdbc.datasource"level="debug"/><loggername="org.mybatis.spring.transaction"level="debug"/><loggername="com.ibatis"level="debug"/><loggername="com.ibatis.common.jdbc.SimpleDataSource"level="debug"/><loggername="com.ibatis.common.jdbc.ScriptRunner"level="debug"/><loggername="com.ibatis.common.sqlmap.engine.impl.SqlMapClientDelegate"level="debug"/><loggername="java.sql.Connection"level="debug"/><loggername="java.sql.Statement"level="debug"/><loggername="java.sql.ResultSet"level="debug"/><loggername="java.sql.PreparedStatement"level="debug"/><rootlevel = "INFO"><appender-refref="debugConsoleWithColor"/></root></springProfile></configuration>