spring项目放到tomcat中运行,我们可以在tomcat的logs文件夹下面生成log文件。那么我们的springboot项目没有放到系统安装的tomcat容器中,怎么设置生成log文件呢?

有两种方式:

1.使用log4j

  使用log4j,在application.properties文件中配置

  logging.path = d:/myLog

  然后项目运行之后,会在d盘生成一个myLog的文件夹,里面有一个叫spring的文件,生成的log记录都在该文件里。(不推荐使用)

2.使用SLF4J/logback

  springboot是默认使用SLF4J/logback的。

  两个地方:

  • 使用    
 import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import com.cetc.cks.constant.Constant; import net.sf.json.JSONObject; /**
* 管理员重置密码或给某用户解绑做日志管理
*/
@Aspect
@Component
public class AspectReset { private final static Logger log = LoggerFactory.getLogger(AspectReset.class); // 。。。
}

点击展开

  • 配置

  在src/main/resource目录下添加logback.xml文件

 <?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="false"> <!-- Log file path ../../../../../../../ to disk root -->
<property name="log.path" value="logs" /> <!-- Spring boot default -->
<include resource="org/springframework/boot/logging/logback/defaults.xml" /> <!-- Console log output -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{MM-dd HH:mm:ss.SSS} %-5level [%logger{50}] - %msg%n</pattern>
</encoder>
</appender> <!-- Log file debug output -->
<appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>d:/logs/debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>d:/logs/debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
</encoder>
</appender> <!-- Log file error output -->
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>d:/errorlogs/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>d:/errorlogs/error.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender> <!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="INFO">
<appender-ref ref="console" />
<appender-ref ref="debug" />
<appender-ref ref="error" />
</root> <logger name="sun.rmi.loader" level="WARN"/>
<logger name="com.zaxxer.hikari" level="WARN"/>
<logger name="org.springframework" level="WARN"/>
<logger name="org.apache.http" level="WARN"/>
<logger name="com.ulisesbocchio" level="WARN"/>
<logger name="com.netflix.discovery" level="WARN"/>
</configuration>

点击展开

项目运行之后,在D盘logs目录下会出现

它以天为单位将每天的日志文件打成压缩包,具体参照logback.xml文件中内容。

springboot(九)-log配置的更多相关文章

  1. Springboot 日志管理配置logback-spring.xml

    几种常见的日志 Log4j:是最早的日志框架,是apach旗下的,可以单独使用,也可配合日志框架JCL使用: Log4j2:apach旗下的关于log4j的升级版: Logback:是基于slf4j接 ...

  2. springboot mvc自动配置(三)初始化mvc的组件

    所有文章 https://www.cnblogs.com/lay2017/p/11775787.html 正文 在springboot mvc自动配置的时候,获得了DispatcherServlet和 ...

  3. 关于SpringBoot的自动配置和启动过程

    一.简介 Spring Boot简化了Spring应用的开发,采用约定大于配置的思想,去繁从简,很方便就能构建一个独立的.产品级别的应用. 1.传统J2EE开发的缺点 开发笨重.配置繁多复杂.开发效率 ...

  4. 面试题: SpringBoot 的自动配置原理

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 3.Spring Boot 的自动配置原理 package com.mmall; import org. ...

  5. SpringBoot | 3.1 配置数据源

    目录 前言 1. 数据源的自动配置 2. *数据源自动配置源码分析 2.1 DataSourceAutoConfiguration:数据源自动配置类 2.2 JdbcTemplateAutoConfi ...

  6. Tomcat access log配置

    在tomcat的access中打印出请求的情况可以帮助我们分析问题,通常比较关注的有访问IP.线程号.访问url.返回状态码.访问时间.持续时间. 在Spring boot中使用了内嵌的tomcat, ...

  7. SpringBoot的自动配置

    1.根据条件来装配bean,SpringBoot的自动配置,根据条件进行自动配置. 首先创建一个接口,如下所示: package com.bie.encoding; /** * * @Descript ...

  8. SpringBoot的自动配置原理

    一.入口 上篇注解@SpringBootApplication简单分析,说到了@SpringBootApplication注解的内部结构, 其中@EnableAutoConfiguration利用En ...

  9. SpringBoot使用Nacos配置中心

    本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心. 1.Nacos简介 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计.它可以帮助您轻松构建云 ...

随机推荐

  1. Notepad++ xml/json格式化

    Xml格式化: 1. 安装XML Tools插件 (1) 通过网址http://sourceforge.net/projects/npp-plugins/files/XML%20Tools/下载XML ...

  2. 4.4.4 无锁的对象引用:AtomicReference和AtomicStampedReference

    AtomicReference 这个类和AtomicInteger非常类似,只是AtomicReference对应普通的对象引用,而AtomicInteger 它是对整数的封装,它的方法如下 对wea ...

  3. [GO]匿名字段的同名字段操作

    package main import ( "fmt" ) type Person struct { name string sex byte age int } type Stu ...

  4. Android Lint——内嵌于Android Studio的代码优化工具

    Android Lint工具是Android Studio 自带的静态代码工模具,Android Lint是专门针对Android 定制的检查规则,因此可以检查出很多Android特有的代码缺陷.建议 ...

  5. Android新增的注解

    环境 使用Android注解前需要导入相关的包 compile 'com.android.support:support-annotations:latest.integration' 注意:如果我们 ...

  6. 用JAVA实现无等待数据库连接池

    我们都知道数据库连接是一种有限和非常昂贵的应用资源,怎样对这些资源进行高效的管理,能有效的改善整个系统的性能和健壮性.数据库连接池正是针对这个问题而提出来的. 数据库连接负责分配.释放和管理数据库连接 ...

  7. 洛谷 P2596 [ZJOI2006]书架 (splay)

    题目描述 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本.由于这些 ...

  8. DLL用def定义文件来导出重载函数(转)

    动态链接库DLL_Sample.dll DLL_Sample.h:#ifdef TEST_API# define TEST_API _declspec(dllexport)#else# define ...

  9. C++派生类在构造和析构过程中做的事

    (一)构造时: (1)首先调用继承关系中第一个基类(最靠左边的)的构造函数,然后第二个,第三个,以此类推 (2)然后调用成员对象的构造函数,这个顺序按照定义的顺序,与构造函数初始化列表的顺序无关. ( ...

  10. day 21 01 序列化模块和模块的导入的复习以及包的初识

    day 21 01 序列化和模块的导入的复习以及包的初识 1.序列化模块 什么是序列化模块:数据类型转化成字符串的过程就是序列卷 为什么要使用序列化模块:为了方便存储和网络传输 三种序列化模块: (1 ...