spring整合log4j_spring连接数据库的配置

spring整合log4j_spring连接数据库的配置常用日志框架log4j、log4j2(log4j的升级版,最常用的)、logback(spring boot默认)、Jboss-logging…等slf4 是日志接口规范,代码对接slf4,实现和具体日志框架解耦,无需修改编码即可切换日志框架。修改pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

常用日志框架

  • log4j、log4j2(log4j的升级版,最常用的)、logback(spring boot默认)、Jboss-logging…等

  • slf4 是日志接口规范,代码对接slf4,实现和具体日志框架解耦,无需修改编码即可切换日志框架。

  • 修改pom依赖

    <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter</artifactId>
         <!--移除框架中的logback依赖-->
         <exclusions>
             <exclusion>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-starter-logging</artifactId>
             </exclusion>
         </exclusions>
     </dependency>
     
     
     <!-- 支持log4j2的模块-->
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-log4j2</artifactId>
     </dependency>
    
    • 添加xml配置文件:log4j2.xml
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->
<!--monitorInterval:Log4j2能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<configuration status="WARN" monitorInterval="30">
    <Properties>
        <!-- 配置日志文件输出目录 -->
        <Property name="LOG_HOME" value="C:\Users\Administrator\Desktop\讲课\0326\logs" />
    </Properties>
     <!--先定义所有的appender-->
     <appenders>
     <!--这个输出控制台的配置-->
         <Console name="Console" target="SYSTEM_OUT">
         <!--输出日志的格式-->
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
         </Console>
        <!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用-->
         <File name="log" fileName="${LOG_HOME}//test.log" append="false">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
         </File>
        <!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
         <RollingFile name="RollingFileInfo" fileName="${LOG_HOME}/info.log"
                      filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">
             <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
             <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
            <Policies>
                 <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100 MB"/>
             </Policies>
         </RollingFile>
         <RollingFile name="RollingFileWarn" fileName="${LOG_HOME}/warn.log"
                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log">
             <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
             <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
             <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100 MB"/>
             </Policies>
                <!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20 -->
             <DefaultRolloverStrategy max="20"/>
         </RollingFile>
         <RollingFile name="RollingFileError" fileName="${LOG_HOME}/error.log"
                      filePattern="${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log">
             <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
             <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
             <Policies>
                 <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100 MB"/>
             </Policies>
        </RollingFile>
     </appenders>
     <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效
        !! DEBUG => 研发
     	!!INFO => 研发
     	!!ERROR  => 生产环境
     ...
     
     每10M  生成一个文件
     每天或者间隔多长时间生成一个文件
     -->
     <loggers>
        <root level="INFO">
            <appender-ref ref="Console"/>
            <!--暂时注释文件日志输出-->
            <appender-ref ref="RollingFileInfo"/>
            <appender-ref ref="RollingFileWarn"/>
            <appender-ref ref="RollingFileError"/>
        </root>
    </loggers>
</configuration>
  • 添加xml配置文件:log4j2.xml

  • 测试

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
       protected Logger logger = LoggerFactory.getLogger(getClass());
    
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168905.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Lua语言_lua基本语法

    Lua语言_lua基本语法1、Lua简介1.1Lua是什么1.2特性1.3应用场景2、Lua的安装3、入门程序4、Lua的基础语法4.1注释4.2定义变量4.3Lua中的数据类型4.4流程控制4.5循环4.6函数4.7表4.8模块1、Lua简介1.1Lua是什么Lua[1]是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(PontificalCatholicUniversityofRiodeJaneiro)里的一个由RobertoIerusalimschy、WaldemarCele.

    2022年10月22日
  • Mac修改redis密码[通俗易懂]

    Mac修改redis密码[通俗易懂]由于我长时间使用redis,结果今天启动redis服务,密码给活活忘记了,那么如何在Mac本地修改redis密码,操作如下Redis并没有像MySQL或者是Oracle那样的严格安全校验机制,所以修改起来非常容易,以下提供两种修改方式:停止Redis后重置密码(永久有效)若没有运行Redis,则直接修改Redis的配置文件(默认的安装位置);如果是手动编译的代码请前往相应的目录,并修改redis.conf。Macsudovim/usr/local/redis-6.0.

    2022年9月6日
  • Oracle数据库学习的小结-1

    Oracle数据库学习的小结-1Oracle数据库监听配置 一、监听器(LISTENER)  监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。 二、本地服务名(Tnsname)  Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器

    2022年9月25日
  • 直观理解深度学习的卷积操作,超赞!

    直观理解深度学习的卷积操作,超赞!翻译|于志鹏 赵朋飞    校对 |  翟修川    整理| 凡江转自|AI研习社近几年随着功能强大的深度学习框架的出现,在深度学习模型中搭建卷积神经网络变得十分容易,甚至只需要一行代码就可以完成。但是理解卷积,特别是对第一次接触卷积神经网络的人来说,经常会对诸如卷积核、滤波器、通道等概念和他们的堆叠架构感到困惑。然而卷积是强大且高度可扩展的概念,在本…

    2022年5月8日
  • Android – 位置定位(Location)服务(Service)类的基本操作「建议收藏」

    Android – 位置定位(Location)服务(Service)类的基本操作

    2022年1月19日
  • Linux常用命令(面试题)

    Linux常用命令(面试题)Linux常用命令因为热爱,所以拼搏。–RuiDer常用指令ls  显示文件或目录-l列出文件详细信息l(list)-a列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir创建目录-p创建目录,若…

    2022年6月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号