日志-springboot logback jpa集成

resources下新建 logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="300 seconds">

    <springProperty scop="context" name="fluentHost" source="myapp.fluentd.host" defaultValue="localhost"/>

    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 开发环境 -->
            <springProfile name="dev">
                <!-- 日志文件生成位置 -->
                <fileNamePattern>F:\log\log.%d{yyyy-MM-dd}.txt</fileNamePattern>
            </springProfile>
            <!-- 测试环境 -->
            <springProfile name="staging">
                <fileNamePattern>F:\log\log.%d{yyyy-MM-dd}.txt</fileNamePattern>
            </springProfile>
            <!-- 线上环境 -->
            <springProfile name="prod">
                <fileNamePattern>/logs/prod/myconfig.%d{yyyy-MM-dd}.log</fileNamePattern>
            </springProfile>
       <!-- 保存30天的历史日志 -->  <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>${fluentHost} %d{yyyy-MM-dd HH:mm:ss}: %p [%t] %c{1} %F:%L - %m%n</pattern> </encoder> </appender> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${fluentHost} %d{yyyy-MM-dd HH:mm:ss}: %p [%t] %c{1} %F:%L - %m%n</pattern> </encoder> </appender> <root level="info"> <appender-ref ref="file" /> <appender-ref ref="stdout" /> </root> <!-- 1. 输出SQL 到控制台和文件--> <logger name="org.hibernate.SQL" additivity="false" > <level value="DEBUG" /> <appender-ref ref="file" /> <appender-ref ref="stdout" /> </logger> <!-- 2. 输出SQL 的参数到控制台和文件--> <logger name="org.hibernate.type.descriptor.sql.BasicBinder" additivity="false" level="TRACE" > <level value="TRACE" /> <appender-ref ref="file" /> <appender-ref ref="stdout" /> </logger> </configuration>

application.properties中加入

# SQL 日志
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.show-sql=true
# 日志等级:dev
spring.profiles.active=dev
# 日志文件 配置
logging.config=classpath:logback-spring.xml

***Controller.java中加入注解@Slf4j

@Slf4j
@RestController
public class EmpController {

    @Autowired
    private EmpDao empDao;

    @RequestMapping("/empShow")
    public Emp empShow() {
        log.info("EmpController.empShow start");
        Emp emp = empDao.findEmpByEmpno(1);
        log.info("EmpController.empShow end");
        return emp;
    }
}

运行springboot项目,访问配置了@Slf4j的接口

生成了日志文件

日志文件内容 ↓

localhost 2022-02-15 14:28:35: INFO [main] c.j.StartApp StartupInfoLogger.java:55 - Starting StartApp using Java 1.8.0_221 on USER-20190727CS with PID 11932 (D:\git_repository\springBootT\target\classes started by Administrator in D:\git_repository\springBootT)
localhost 2022-02-15 14:28:35: INFO [main] c.j.StartApp SpringApplication.java:674 - The following profiles are active: dev
localhost 2022-02-15 14:28:36: INFO [main] o.s.d.r.c.RepositoryConfigurationDelegate RepositoryConfigurationDelegate.java:132 - Bootstrapping Spring Data JPA repositories in DEFAULT mode.
localhost 2022-02-15 14:28:36: INFO [main] o.s.d.r.c.RepositoryConfigurationDelegate RepositoryConfigurationDelegate.java:201 - Finished Spring Data repository scanning in 67 ms. Found 1 JPA repository interfaces.
localhost 2022-02-15 14:28:37: INFO [main] o.s.b.w.e.t.TomcatWebServer TomcatWebServer.java:108 - Tomcat initialized with port(s): 8088 (http)
localhost 2022-02-15 14:28:37: INFO [main] o.a.c.h.Http11NioProtocol DirectJDKLog.java:173 - Initializing ProtocolHandler ["http-nio-8088"]
localhost 2022-02-15 14:28:37: INFO [main] o.a.c.c.StandardService DirectJDKLog.java:173 - Starting service [Tomcat]
localhost 2022-02-15 14:28:37: INFO [main] o.a.c.c.StandardEngine DirectJDKLog.java:173 - Starting Servlet engine: [Apache Tomcat/9.0.56]
localhost 2022-02-15 14:28:37: INFO [main] o.a.c.c.C.[.[.[/] DirectJDKLog.java:173 - Initializing Spring embedded WebApplicationContext
localhost 2022-02-15 14:28:37: INFO [main] o.s.b.w.s.c.ServletWebServerApplicationContext ServletWebServerApplicationContext.java:290 - Root WebApplicationContext: initialization completed in 1851 ms
localhost 2022-02-15 14:28:37: INFO [main] o.h.j.i.u.LogHelper LogHelper.java:31 - HHH000204: Processing PersistenceUnitInfo [name: default]
localhost 2022-02-15 14:28:37: INFO [main] o.h.Version Version.java:44 - HHH000412: Hibernate ORM core version 5.4.33
localhost 2022-02-15 14:28:37: INFO [main] o.h.a.c.Version JavaReflectionManager.java:56 - HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
localhost 2022-02-15 14:28:38: INFO [main] c.z.h.HikariDataSource HikariDataSource.java:110 - HikariPool-1 - Starting...
localhost 2022-02-15 14:28:38: INFO [main] c.z.h.HikariDataSource HikariDataSource.java:123 - HikariPool-1 - Start completed.
localhost 2022-02-15 14:28:38: INFO [main] o.h.d.Dialect Dialect.java:175 - HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect
localhost 2022-02-15 14:28:39: INFO [main] o.h.e.t.j.p.i.JtaPlatformInitiator JtaPlatformInitiator.java:52 - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
localhost 2022-02-15 14:28:39: INFO [main] o.s.o.j.LocalContainerEntityManagerFactoryBean AbstractEntityManagerFactoryBean.java:437 - Initialized JPA EntityManagerFactory for persistence unit 'default'
localhost 2022-02-15 14:28:39: WARN [main] o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration JpaBaseConfiguration.java:219 - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
localhost 2022-02-15 14:28:40: INFO [main] o.a.c.h.Http11NioProtocol DirectJDKLog.java:173 - Starting ProtocolHandler ["http-nio-8088"]
localhost 2022-02-15 14:28:40: INFO [main] o.s.b.w.e.t.TomcatWebServer TomcatWebServer.java:220 - Tomcat started on port(s): 8088 (http) with context path ''
localhost 2022-02-15 14:28:40: INFO [main] c.j.StartApp StartupInfoLogger.java:61 - Started StartApp in 5.821 seconds (JVM running for 7.447)
localhost 2022-02-15 14:28:45: INFO [http-nio-8088-exec-1] o.a.c.c.C.[.[.[/] DirectJDKLog.java:173 - Initializing Spring DispatcherServlet 'dispatcherServlet'
localhost 2022-02-15 14:28:45: INFO [http-nio-8088-exec-1] o.s.w.s.DispatcherServlet FrameworkServlet.java:525 - Initializing Servlet 'dispatcherServlet'
localhost 2022-02-15 14:28:45: INFO [http-nio-8088-exec-1] o.s.w.s.DispatcherServlet FrameworkServlet.java:547 - Completed initialization in 2 ms
localhost 2022-02-15 14:28:45: INFO [http-nio-8088-exec-1] c.j.c.EmpController EmpController.java:19 - EmpController.empShow start
localhost 2022-02-15 14:28:45: DEBUG [http-nio-8088-exec-1] o.h.SQL SqlStatementLogger.java:144 - 
    SELECT
        empno,
        ename,
        job 
    FROM
        emp 
    WHERE
        empno = (
            ?
        )
localhost 2022-02-15 14:28:45: TRACE [http-nio-8088-exec-1] o.h.t.d.s.BasicBinder BasicBinder.java:64 - binding parameter [1] as [INTEGER] - [1]
localhost 2022-02-15 14:28:45: INFO [http-nio-8088-exec-1] c.j.c.EmpController EmpController.java:21 - EmpController.empShow end

 

posted @ 2022-02-15 14:31  小狗吃月亮  阅读(320)  评论(0编辑  收藏  举报