- updated logback-classic version - updated logback.xml to have only one appender for new classes - added sample parameterized logging and fluent logging
72 lines
3.0 KiB
XML
72 lines
3.0 KiB
XML
<configuration>
|
|
|
|
<appender name="map" class="com.baeldung.logback.MapAppender">
|
|
<prefix>test</prefix>
|
|
</appender>
|
|
|
|
<appender name="out" class="ch.qos.logback.core.ConsoleAppender">
|
|
<encoder>
|
|
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %kvp%n</pattern>
|
|
</encoder>
|
|
</appender>
|
|
|
|
<appender name="emailAppender" class="ch.qos.logback.classic.net.SMTPAppender">
|
|
<smtpHost>OUR-SMTP-HOST-ADDRESS</smtpHost>
|
|
<!-- one or more recipients are possible -->
|
|
<to>EMAIL-RECIPIENT-1</to>
|
|
<to>EMAIL-RECIPIENT-2</to>
|
|
<from>SENDER-EMAIL-ADDRESS</from>
|
|
<subject>BAELDUNG: %logger{20} - %msg</subject>
|
|
<layout class="ch.qos.logback.classic.PatternLayout">
|
|
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n</pattern>
|
|
</layout>
|
|
</appender>
|
|
|
|
<appender name="emailAppenderCustomBufferSize" class="ch.qos.logback.classic.net.SMTPAppender">
|
|
<smtpHost>OUR-SMTP-HOST-ADDRESS</smtpHost>
|
|
<to>EMAIL-RECIPIENT</to>
|
|
<from>SENDER-EMAIL-ADDRESS</from>
|
|
<subject>BAELDUNG: %logger{20} - %msg</subject>
|
|
<layout class="ch.qos.logback.classic.html.HTMLLayout"/>
|
|
<cyclicBufferTracker class="ch.qos.logback.core.spi.CyclicBufferTracker">
|
|
<!-- only 5 log entries on email -->
|
|
<bufferSize>5</bufferSize>
|
|
</cyclicBufferTracker>
|
|
</appender>
|
|
|
|
<appender name="emailAppenderGmail" class="ch.qos.logback.classic.net.SMTPAppender">
|
|
<smtpHost>smtp.gmail.com</smtpHost>
|
|
<smtpPort>587</smtpPort>
|
|
<STARTTLS>true</STARTTLS>
|
|
<asynchronousSending>false</asynchronousSending>
|
|
<username>SENDER-EMAIL@gmail.com</username>
|
|
<password>GMAIL-ACCT-PASSWORD</password>
|
|
<to>EMAIL-RECIPIENT</to>
|
|
<from>SENDER-EMAIL@gmail.com</from>
|
|
<subject>BAELDUNG: %logger{20} - %msg</subject>
|
|
<layout class="ch.qos.logback.classic.html.HTMLLayout"/>
|
|
</appender>
|
|
|
|
<appender name="mask" class="ch.qos.logback.core.ConsoleAppender">
|
|
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
|
|
<layout class="com.baeldung.logback.MaskingPatternLayout">
|
|
<maskPattern>\"SSN\"\s*:\s*\"(.*?)\"</maskPattern> <!-- SSN JSON pattern -->
|
|
<maskPattern>\"address\"\s*:\s*\"(.*?)\"</maskPattern> <!-- Address JSON pattern -->
|
|
<maskPattern>(\d+\.\d+\.\d+\.\d+)</maskPattern> <!-- Ip address IPv4 pattern -->
|
|
<maskPattern>(\w+@\w+\.\w+)</maskPattern> <!-- Email pattern -->
|
|
<pattern>%-5p [%d{ISO8601,UTC}] [%thread] %c: %m%n%rootException</pattern>
|
|
</layout>
|
|
</encoder>
|
|
</appender>
|
|
|
|
<root level="info">
|
|
<appender-ref ref="map"/>
|
|
<appender-ref ref="out"/>
|
|
<appender-ref ref="emailAppender"/>
|
|
<appender-ref ref="mask" />
|
|
</root>
|
|
|
|
<logger name="com.baeldung.parameterized.logging" additivity="false" level="INFO">
|
|
<appender-ref ref="out"/>
|
|
</logger>
|
|
</configuration> |