溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

spring 使用logback

發(fā)布時(shí)間:2020-06-23 03:44:45 來源:網(wǎng)絡(luò) 閱讀:917 作者:wangtenfee 欄目:開發(fā)技術(shù)


需要的包

gradle,版本自選,commons-logging不排除也行,網(wǎng)上有文檔說要排除,我這里排不排除都沒有關(guān)系

	compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.3'
	compile group: 'org.logback-extensions', name: 'logback-ext-spring', version: '0.1.2'
	compile group: 'org.slf4j', name: 'jcl-over-slf4j', version: '1.7.12'
        configurations {
            //compile.exclude module: 'commons-logging'
        }	

maven

		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.1.3</version>
		</dependency>
		<dependency>
			<groupId>org.logback-extensions</groupId>
			<artifactId>logback-ext-spring</artifactId>
			<version>0.1.2</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<version>1.7.12</version>
		</dependency>

web.xml中增加配置

	<context-param>
		<param-name>logbackConfigLocation</param-name>
		<param-value>/WEB-INF/config/logback3.xml</param-value>
	</context-param>

這里的param-value自己定義,我這里是把配置文件放在/WEB-INF/config/目錄下,有文檔將其放在classpath里,也沒差.

logback3.xml里的內(nèi)容

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<timestamp key="bySecond" datePattern="yyyyMMdd"/>
	<appender name="FILE" class="ch.qos.logback.core.FileAppender">
		<file>${catalina.base}/logs/weblearn/weblearn3-${bySecond}.log</file>
		<encoder><!-- 必須指定,否則不會往文件輸出內(nèi)容 -->
			<pattern>%date %level %thread %10logger %file %line %msg %n</pattern>
		</encoder>
		<append>true</append>
		<prudent>false</prudent>
	</appender>

	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
		<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder 
			by default -->
		<encoder>
			<!-- <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern> -->
			<pattern>%date %level %thread %10logger %file %line %msg %n</pattern>
		</encoder>
	</appender>
	
	<root level="DEBUG">
		<appender-ref ref="FILE" />
		<appender-ref ref="STDOUT" />
	</root>
</configuration>

這里有很多配置選項(xiàng),具體的看官方的文檔logback配置官方文檔

http://logback.qos.ch/manual/appenders.html 

我的配置是把日志放在tomcat的日志目錄下,C:\apache-tomcat-8.0.32\logs\weblearn\

同時(shí)在文件和控制臺輸出,所以定義了兩個(gè)<appender></appender>

每天一個(gè)日志,

服務(wù)器啟動(dòng)后,結(jié)果如下

spring 使用logback

在代碼中使用的方法如下

package com.example.weblearn3.controller;

import java.io.PrintWriter;
import java.io.StringWriter;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;



@Controller
@RequestMapping({"/", "/homepage","index.html"})
public class HomeController {
	
	private Logger logger = LoggerFactory.getLogger(HomeController.class);
	
	@RequestMapping(method = RequestMethod.GET)
	public String home() {
		
        try {
            int a = 1/0;
        }catch (Exception e){
            StringWriter sw = new StringWriter();
            PrintWriter pw = new PrintWriter(sw);
            e.printStackTrace(pw);
            logger.error("Main錯(cuò)誤:" + sw.toString());
        }
		System.out.println("home");
		return "home";
	}
	
}


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI