spring boot配置logback日志输出

文件目录结构:


application.properties内容:

#默认使用application-local.properties,logback-my.xml中也将使用name="local"输出日志
spring.profiles.active=local

server.port=8090
#定义logback的名字,否则默认名字必须为:logback-spring.xml
logging.config=classpath:logback-my.xml


application-local.properties内容:(只是强制改变一下端口号)

server.port=8080

logback-my.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<property name="LOG_HOME"  value="e:/loghome"></property>
	
	<property name="consoleLayoutPattern"  
        value="%-20(%d{yyyyMMdd_HH:mm:ss.SSS} [%logger][%thread] [%-4relative]) [%X{hostName} %X{requestId} %X{processId} %X{service.timing} ][%level] %msg%n" />
	
	<property name="fileLayoutPattern"  
        value="%-20(%d{yyyyMMdd_HH:mm:ss.SSS} [%logger{10}][%thread] [%-4relative]) [%X{hostName} %X{requestId} %X{processId} %X{service.timing} ][%level] %msg%n" />

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>${consoleLayoutPattern}</pattern>
        </layout>
    </appender>

    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/my_info.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/my_info.log.%d{yyyy-MM-dd}</fileNamePattern>
            <maxHistory>10</maxHistory>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>${fileLayoutPattern}</Pattern>
        </layout>
    </appender>

    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/my_error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/my_error.log.%d{yyyy-MM-dd}</fileNamePattern>
            <maxHistory>10</maxHistory>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>${fileLayoutPattern}</Pattern>
        </layout>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>error</level>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

	<!-- 定义本地环境日志级别 -->
    <springProfile name="local">
        <logger name="com.my" level="INFO"/><!-- 定义将com.my包下的最低级别日志信息 -->
        <root>
        	<level value="DEBUG" /> <!-- 系统全局日志输出最低级别,但不包括com.my包 -->
            <appender-ref ref="STDOUT" />
        </root>
    </springProfile>

	<!-- 定义测试环境日志级别 -->
	<springProfile name="qa">
        <logger name="com.my" level="DEBUG"/>
        <root>
            <level value="INFO" />
            <appender-ref ref="STDOUT" />
        </root>
    </springProfile>
    
   	<!--  定义线上环境日志级别  --> 
    <springProfile name="online">
        <root>
            <level value="INFO" />
            <appender-ref ref="INFO_FILE" />
            <appender-ref ref="ERROR_FILE" />
        </root>
    </springProfile>

</configuration>

indexcontroller:

package com.my.controller;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.my.bean.User;

@RestController
@RequestMapping("index")
public class IndexController {
	
	private static Logger log = LoggerFactory.getLogger(IndexController.class);
	
//	@Value(value = "${tanlei.secret}")
	private String secret;
	
	@RequestMapping
	public String index() {
		return "hello world";
	}

	@RequestMapping("get")
	public Map<String, Object> get(String name) {
		log.debug("xixi");
		log.info("哈哈哈");
		log.error("hehe");
		//System.out.println(secret);
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("name", name);
		map.put("id", 1);
		return map;
	}
	
	@RequestMapping(value = "/get/{id}/{name}")
	public User getUser(@PathVariable int id, @PathVariable String name) {
		User user = new User();
		user.setId(id);
		user.setName(name);
		user.setDate(new Date());
		return user;
	}
	
}

启动类:SrpingBootDemo1Application.java

@SpringBootApplication
public class SrpingBootDemo1Application {
	
	public static void main(String[] args) {
		SpringApplication.run(SrpingBootDemo1Application.class, args);
	}
}


pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.my</groupId>
	<artifactId>bootweb</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.4.0.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>

		<dependency>
			<groupId>org.webjars</groupId>
			<artifactId>jquery</artifactId>
			<version>2.1.4</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				
				<configuration>
					<finalName>root</finalName>
				</configuration>
			</plugin>
		</plugins>
	</build>


</project>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值