Java实现日志输出到文件中
public void consoleLog() throws IOException {
File file = new File("E:\\es.log");
FileWriter fileWriter = null;
if (!file.exists()) {
file.createNewFile();
}
try {
fileWriter = new FileWriter(file, true);
for (int i = 0; i < 100; i++) {
fileWriter.write("log: " + i + "\r\n");
}
}catch (IOException e) {
e.printStackTrace();
} finally {
if (fileWriter != null) {
fileWriter.close();
}
}
}
配置文件logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration
xmlns="http://ch.qos.logback/xml/ns/logback"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback">
<springProfile name="!dev">
<property name="LOG_PATTERN"
value="%d{yyyy-MM-dd HH:mm:ss.SS,America/Los_Angeles} %-5level %logger{36} %msg%n"/>
</springProfile>
<springProfile name="dev">
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SS,Asia/Shanghai} %-5level %logger{36} %msg%n"/>
</springProfile>
<property name="LOG_FILE_SYS" value="${LOG_HOME:-logs}/sys.log"/>
<property name="LOG_FILE_ERROR" value="${LOG_HOME:-logs}/error.log"/>
<property name="LOG_FILE_EXCEPTION" value="${LOG_HOME:-logs}/exception.log"/>
<property name="LOG_FILE_CONSOLE" value="${LOG_HOME:-logs}/console.log"/>
<springProfile name="dev,gdev,pre">
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
</springProfile>
<!--将consoleLog写入到文件中 -->
<appender name="consoleLog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_FILE_CONSOLE}</file>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE_CONSOLE}.%d{yyyy-MM-dd}.%i</fileNamePattern>
<maxFileSize>5MB</maxFileSize>
<maxHistory>5</maxHistory>
<totalSizeCap>25MB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="sysLog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_FILE_SYS}</file>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE_SYS}.%d{yyyy-MM-dd}.%i
</fileNamePattern>
<maxFileSize>5MB</maxFileSize>
<maxHistory>5</maxHistory>
<totalSizeCap>25MB</totalSizeCap>
</rollingPolicy>
</appender>
<logger name="sysLog" level="info" additivity="false">
<appender-ref ref="sysLog"/>
</logger>
<appender name="errorLog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_FILE_ERROR}</file>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE_ERROR}.%d{yyyy-MM-dd}.%i
</fileNamePattern>
<maxFileSize>5MB</maxFileSize>
<maxHistory>5</maxHistory>
<totalSizeCap>25MB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="exceptionLog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_FILE_EXCEPTION}</file>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE_EXCEPTION}.%d{yyyy-MM-dd}.%i
</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>10</maxHistory>
<totalSizeCap>500MB</totalSizeCap>
</rollingPolicy>
</appender>
<logger name="exceptionLog" level="error" additivity="false">
<appender-ref ref="exceptionLog"/>
</logger>
<logger name="errorLog" level="info" additivity="false">
<appender-ref ref="errorLog"/>
</logger>
<springProfile name="dev,gdev">
<root level="info">
<appender-ref ref="stdout"/>
<appender-ref ref="consoleLog"/>
</root>
</springProfile>
<springProfile name="pre,prd">
<root level="info">
<appender-ref ref="stdout"/>
<appender-ref ref="consoleLog"/>
</root>
</springProfile>
</configuration>
yml文件配置日志级别
logging:
level:
root: info
com.newegg.im.keyword.dao: debug
网友评论