Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mageddo/8e38d23f765738b5d16be1b42dcd5ee8 to your computer and use it in GitHub Desktop.
Save mageddo/8e38d23f765738b5d16be1b42dcd5ee8 to your computer and use it in GitHub Desktop.
Logback examples
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property
name="logPattern"
value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${logPattern}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<property
name="logFile"
value="${user.home}/.jvm-class-agent/jvm-class-agent.log"
/>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${logFile}</file>
<encoder>
<pattern>${logPattern}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
<logger name="com.mageddo.jvmti" level="DEBUG"/>
</configuration>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- ch.qos.logback.core.FileAppender -->
<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-15.15thread] %3.-3level %-0.70logger{70}, m=%method, l=%line, %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
<logger name="org.apache.spark" level="DEBUG" />
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property
name="log_pattern"
value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-15.15thread] %3.-3level \${PID:- } %-0.70logger{70} m=%method l=%line %msg%n}"
/>
<!--
<property name="LOG_FILE"
value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"
/>
-->
<property
name="log_file"
value="${user.home}/.mageddo/${profile:-stg}/mining/log.log"
/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log_pattern}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log_file}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log_file}-%d{yyyy-MM-dd-HH}.%i.log</fileNamePattern>
<maxFileSize>1024MB</maxFileSize>
<maxHistory>600</maxHistory>
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>${log_pattern}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="console"/>
</root>
<root level="INFO">
<appender-ref ref="file"/>
</root>
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<!--
* %d{yyyy-MM-dd_HH-mm}: A cada minuto vai gerar um novo archive zipado,
* Soh faz o rolling se acontecer um log logo depois do tempo virar, o log é a triger não o tempo
* maxHistory / totalSizeCap: Irá deletar os archives mais antigos depois que o numero passar de 120 ou o tamanho do diretorio passar de 2GB
* append: Sempre que a app restartar irá dar continuidade no log ao invés de truncar
* file: Criar com esse nome e renomar para o nome com data só depois de fazer rotacionamento
$ ls -lh /tmp/dps
total 24K
-rw-rw-r-- 1 typer typer 276 mar 12 15:36 log.log
-rw-rw-r-- 1 typer typer 591 mar 12 15:37 log.log.2023-03-12_15-36.log.gz
-rw-rw-r-- 1 typer typer 162 mar 12 15:38 log.log.2023-03-12_15-37.log.gz
-rw-rw-r-- 1 typer typer 560 mar 12 15:39 log.log.2023-03-12_15-38.log.gz
-rw-rw-r-- 1 typer typer 160 mar 12 15:40 log.log.2023-03-12_15-39.log.gz
-rw-rw-r-- 1 typer typer 160 mar 12 15:41 log.log.2023-03-12_15-40.log.gz
-->
<configuration>
<property
name="dpsLogPatternDefault"
value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-15.15thread] %3.-3level %-0.70logger{70} m=%method l=%line %mdc %msg%n"
/>
<property
name="logFile"
value="${dpsLogFile:-/tmp/dps/log.log}"
/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${logFile}</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${logFile}.%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
<maxHistory>120</maxHistory>
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>${dpsLogPattern:-${dpsLogPatternDefault}}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE"/>
</root>
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property
name="CONSOLE_LOG_PATTERN"
value="%d{yyyy-MM-dd HH:mm:ss.SSS} app=%property{app.name} \${LOG_LEVEL_PATTERN:-%5p} \${PID:- } [%15.15t] %-40.40logger{39} : %m%n}"
/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
<logger name="org.apache.spark" level="DEBUG" />
</configuration>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment