springBoot 日志打印

本文介绍如何在Spring Boot项目中整合MyBatis日志功能,包括配置MyBatis以实现数据库字段与实体类属性之间的自动映射,以及通过Logback进行详细的日志记录设置。此外还介绍了不同环境下的日志级别配置。

Mybatis 打印日志  与springboot 整合

 

配置文件:

mybatis:

 configuration:

   map-underscore-to-camel-case:true

 mapper-locations:com/**/manage/mapper/*.xml

  typeAliasesPackage:com.wkxhotel.**.domain

解释

map-underscore-to-camel-case:  数据库字段安驼峰命名规则自动匹配到实体类上,不需要用别名

typeAliasesPackage 指定实体类的位置

mapper-locations:  指定mapper文件的位置

 

 

在classPath : 目录上创建文件

 

Mybatis-config.xml

内容:

 

<?xml version="1.0"encoding="UTF-8" ?> 

 

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTDConfig 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

 

 

<configuration>

<settings>

   <setting name="logImpl" value="STDOUT_LOGGING"/> 

</settings>

</configuration> 

 

 

 

Logback.xml 里面的内容

 

 

 

<?xml version="1.0"encoding="UTF-8"?>

<configuration debug="false">

   <!--定义日志文件的存储地址勿在 LogBack 的配置中使用相对路径 -->

   <property name="LOG_HOME" value="/home"/>

   <!-- 控制台输出 -->

   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

      <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

         <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->

         <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} -

            %msg%n</pattern>

      </encoder>

   </appender>

   <!-- 按照每天生成日志文件 -->

   <appender name="FILE"

      class="ch.qos.logback.core.rolling.RollingFileAppender">

      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

         <!-- 滚动时产生的文件的存放位置及文件名称 %d{yyyy-MM-dd}:按天进行日志滚动 %i:当文件大小超过maxFileSize时,按照i进行文件滚动 -->

         <FileNamePattern>${LOG_HOME}/nfs_data_31/log/tomcat/wkxhotel/wkxhotel-company-manage/%d{yyyy-MM-dd}-%i.log

         </FileNamePattern>

         <!--日志文件保留天数 -->

         <MaxHistory>30</MaxHistory>

         <!--日志文件最大的大小 -->

         <timeBasedFileNamingAndTriggeringPolicy

            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

            <MaxFileSize>30MB</MaxFileSize>

         </timeBasedFileNamingAndTriggeringPolicy>

      </rollingPolicy>

      <!-- 日志输出格式:%d表示日期时间,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %logger{50} 表示logger名字最长50个字符,否则按照句点分割。

         %msg:日志消息,%n是换行符 -->

      <layout class="ch.qos.logback.classic.PatternLayout">

         <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [ %thread ] - [ %-5level ] [

            %logger{50}: %line ] - %msg%n</pattern>

      </layout>

   </appender>

   <!--myibatis log configure -->

   <logger name="com.apache.ibatis" level="info" />

   <logger name="java.sql.Connection" level="info" />

   <logger name="java.sql.Statement" level="info" />

   <logger name="java.sql.PreparedStatement" level="info" />

    <logger name="com.**.manage.dao"level="DEBUG"/>

(这个包名dao 根据项目自定义修改)

 

   <!-- 日志输出级别 -->

   <root level="info">

      <appender-ref ref="STDOUT" />

      <appender-ref ref="FILE" />

   </root>

   <!--日志异步到数据库 -->

   <!-- <appender name="DB"class="ch.qos.logback.classic.db.DBAppender"> 日志异步到数据库

      <connectionSourceclass="ch.qos.logback.core.db.DriverManagerConnectionSource">

      连接池 <dataSourceclass="com.mchange.v2.c3p0.ComboPooledDataSource"><driverClass>com.mysql.jdbc.Driver</driverClass>

      <url>jdbc:mysql://127.0.0.1:3306/databaseName</url><user>root</user> <password>root</password>

      </dataSource></connectionSource> </appender> -->

</configuration>

 

 

加载资源

@ImportResource(locations = {"classpath:shiro.xml", "classpath:mybatis-config.xml" })


可不配置默认就会加载classpath的内容


不同的环境日志打印级别不同 

dev      level="info"

test     level="DEBUG"

pro    level="ERROR" 

### 如何设置或修改Spring Boot应用的日志打印级别 在Spring Boot中,可以通过多种方式来调整日志打印级别。以下是几种常见的方法及其具体实现: #### 方法一:通过`application.properties`或`application.yml`配置文件 可以在项目的配置文件中指定日志级别的设置。对于基于YAML格式的`application.yml`文件,可以按照如下方式进行配置[^3]: ```yaml logging: level: com.example.mapper: DEBUG ``` 上述代码表示将`com.example.mapper`包下的日志级别设置为DEBUG。 如果使用的是`.properties`文件,则可以这样写: ```properties logging.level.com.example.mapper=DEBUG ``` #### 方法二:通过命令行参数动态调整日志级别 除了静态配置外,还可以通过启动应用程序时传递命令行参数的方式临时更改日志级别。这种方式特别适合于生产环境调试场景。例如: ```bash java -jar your-application.jar --spring.log.level.root=WARN ``` 此命令会将根日志级别设置为WARN,并且该设置优先级高于配置文件中的定义[^2]。 #### 方法三:程序运行期间动态改变日志级别(适用于支持JMX的应用) 某些情况下可能希望在不重启服务的前提下实时调整日志等级。这通常借助Java Management Extensions (JMX) 来完成。当启用JMX功能后,管理员能够利用工具如JConsole连接到正在运行的服务实例并交互式地调节各个logger的具体level[^1]。 注意,在实际开发过程中应合理规划不同环境下所需的不同log levels, 这样既能满足日常监控需求又不会因为过多冗余信息影响性能表现。 ```python # 示例Python代码仅用于说明Markdown格式化规则,请忽略具体内容意义 def adjust_log_level(newLevel): print(f"Log Level adjusted to {newLevel}") adjust_log_level('INFO') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值