Added Log4j bindings for SLF4J. Test log output is redirected to the console, and demo output is now additionally stored in a rolling log file.

This commit is contained in:
Andrius Dagys 2016-07-21 13:55:40 +01:00
parent 2c139ae40c
commit 2142bd1d8a
7 changed files with 123 additions and 5 deletions

View File

@ -25,8 +25,8 @@ buildscript {
ext.jetty_version = '9.3.9.v20160517'
ext.jersey_version = '2.23.1'
ext.jolokia_version = '2.0.0-M1'
ext.slf4j_version = '1.7.21'
ext.assertj_version = '3.5.1'
ext.log4j_version = '2.6.2'
repositories {
mavenCentral()
@ -63,6 +63,16 @@ sourceSets {
srcDir file('src/integration-test/kotlin')
}
}
main {
resources {
srcDir "config/dev"
}
}
test {
resources {
srcDir "config/test"
}
}
}
//noinspection GroovyAssignabilityCheck

55
config/dev/log4j2.xml Normal file
View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info">
<Properties>
<Property name="log-path">logs</Property>
<Property name="log-name">main</Property>
<Property name="archive">${log-path}/archive</Property>
</Properties>
<ThresholdFilter level="trace"/>
<Appenders>
<Console name="Console-Appender" target="SYSTEM_OUT">
<PatternLayout>
<pattern>
[%-5level] %d{HH:mm:ss.SSS} [%t] %c{1}.%M - %msg%n
</pattern>>
</PatternLayout>
</Console>
<!-- Will generate up to 10 log files for a given day. During every rollover it will delete
those that are older than 60 days, but keep the most recent 10 GB -->
<RollingFile name="RollingFile-Appender"
fileName="${log-path}/${log-name}.log"
filePattern="${archive}/${log-name}.%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="10MB"/>
</Policies>
<DefaultRolloverStrategy min="1" max="10">
<Delete basePath="${archive}" maxDepth="1">
<IfFileName glob="${log-name}*.log.gz"/>
<IfLastModified age="60d">
<IfAny>
<IfAccumulatedFileSize exceeds="10 GB"/>
</IfAny>
</IfLastModified>
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="Console-Appender" level="info"/>
<AppenderRef ref="RollingFile-Appender" level="debug"/>
</Root>
</Loggers>
</Configuration>

17
config/test/log4j2.xml Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info">
<Appenders>
<Console name="Console-Appender" target="SYSTEM_OUT">
<PatternLayout>
<pattern>
[%-5level] %d{HH:mm:ss.SSS} [%t] %c{1}.%M - %msg%n
</pattern>>
</PatternLayout>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console-Appender" level="info"/>
</Root>
</Loggers>
</Configuration>

View File

@ -80,4 +80,12 @@ dependencies {
compile project(':core')
testCompile 'junit:junit:4.12'
}
sourceSets {
test {
resources {
srcDir "../config/test"
}
}
}

View File

@ -78,4 +78,12 @@ repositories {
dependencies {
compile project(':core')
}
sourceSets {
test {
resources {
srcDir "../../config/test"
}
}
}

View File

@ -21,6 +21,14 @@ repositories {
}
}
sourceSets {
test {
resources {
srcDir "../config/test"
}
}
}
dependencies {
testCompile 'junit:junit:4.12'
testCompile "commons-fileupload:commons-fileupload:1.3.2"
@ -35,12 +43,13 @@ dependencies {
// Thread safety annotations
compile "com.google.code.findbugs:jsr305:3.0.1"
// Log4J: logging framework (wth SLF4J bindings)
compile "org.apache.logging.log4j:log4j-slf4j-impl:${log4j_version}"
compile "org.apache.logging.log4j:log4j-core:${log4j_version}"
// AssertJ: for fluent assertions for testing
testCompile "org.assertj:assertj-core:${assertj_version}"
// SLF4J: Logging framework.
compile "org.slf4j:slf4j-jdk14:${slf4j_version}"
// Guava: Google utilities library.
compile "com.google.guava:guava:19.0"

View File

@ -19,6 +19,14 @@ configurations {
runtime.exclude module: 'isolated'
}
sourceSets {
test {
resources {
srcDir "../config/test"
}
}
}
// To find potential version conflicts, run "gradle htmlDependencyReport" and then look in
// build/reports/project/dependencies/index.html for green highlighted parts of the tree.
@ -26,7 +34,10 @@ dependencies {
compile project(':contracts')
compile "com.google.code.findbugs:jsr305:3.0.1"
compile "org.slf4j:slf4j-jdk14:${slf4j_version}"
// Log4J: logging framework (wth SLF4J bindings)
compile "org.apache.logging.log4j:log4j-slf4j-impl:${log4j_version}"
compile "org.apache.logging.log4j:log4j-core:${log4j_version}"
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"