Lombok - studiofu/brain GitHub Wiki

Quick Start

https://projectlombok.org/

https://mvnrepository.com/artifact/org.projectlombok/lombok

Install the Lombok to the eclipse and include the maven setting to the pom

use @Slf4j annotation and create logback-spring.xml for spring boot to use.

logging.config=classpath:logging-config.xml # for alternative filename and also applied for profile

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

    <!-- read spring properties -->
    <springProperty scope="context" name="logName" source="spring.application.name" defaultValue="localhost"/>
    <springProperty scope="context" name="portNumber" source="server.port" defaultValue="default"/>

    <!--  define the log home directory -->
    <property name="LOG_HOME" value="e://logs"/>

    <!-- 
    <springProperty scope="context" name="LOG_HOME" source="logback.path"/>
    -->
 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--   log format> date, thread, level(occupied 5 spaces) and then logger information -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>
    
    <!-- rolling -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/${logName}_${portNumber}.log</file>
 
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--rolling location-->
            <fileNamePattern>${LOG_HOME}/%d{yyyyMM,aux}//${logName}-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
            <maxFileSize>100MB</maxFileSize>
            <maxHistory>50</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>
 
 	<!-- log output level -->
    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
    </root>
    
    <!--sync to database -->
    <!-- 
    <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
        <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
           <dataSource class="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>

Resources

⚠️ **GitHub.com Fallback** ⚠️