Skip to content
This repository has been archived by the owner on May 11, 2021. It is now read-only.

Commit

Permalink
LogbackConfig introduced
Browse files Browse the repository at this point in the history
  • Loading branch information
dst committed Mar 11, 2015
1 parent dc6fb7f commit bba6917
Showing 1 changed file with 55 additions and 43 deletions.
98 changes: 55 additions & 43 deletions src/main/resources/logback.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -7,51 +7,62 @@ import ch.qos.logback.core.status.OnConsoleStatusListener
import static com.ofg.config.BasicProfiles.PRODUCTION
import static org.springframework.core.env.AbstractEnvironment.ACTIVE_PROFILES_PROPERTY_NAME

DEFAULT_FILENAME = 'logs/application.log'
DEFAULT_LOG_PATTERN = '%d{yyyy-MM-dd HH:mm:ss.SSSZ, Europe/Warsaw} | %-5level | %X{correlationId} | %thread | %logger{1} | %m%n'
DEFAULT_SCAN_TIME = '1 minutes'
DEFAULT_ROLLING_FILENAME_PATTERN = 'logs/application.%d{yyyy-MM-dd}.log.zip'
DEFAULT_ROLLING_MAX_HISTORY = 7

File globalPropsFile() {
def env = System.getenv()
String configFolder = env['CONFIG_FOLDER']
return new File("${configFolder}/common/global.properties")
}
class LogbackConfig {
private static String DEFAULT_FILENAME = 'logs/application.log'
private static String DEFAULT_LOG_PATTERN = '%d{yyyy-MM-dd HH:mm:ss.SSSZ, Europe/Warsaw} | %-5level | %X{correlationId} | %thread | %logger{1} | %m%n'
private static String DEFAULT_SCAN_TIME = '1 minutes'
private static String DEFAULT_ROLLING_FILENAME_PATTERN = 'logs/application.%d{yyyy-MM-dd}.log.zip'
private static int DEFAULT_ROLLING_MAX_HISTORY = 7

private Properties globalProperties

String getLogPattern() {
return globalProperty('logger.log.pattern') ?: DEFAULT_LOG_PATTERN
}

String globalProp(String propKey) {
Properties props = new Properties()
File globalPropsFile = globalPropsFile()
if (globalPropsFile.exists()) {
globalPropsFile.withInputStream {
stream -> props.load(stream)
}
String getScanTime() {
return globalProperty('logger.scan.time') ?: DEFAULT_SCAN_TIME
}
return props[propKey]
}

private String getLogPattern() {
return globalProp('logger.log.pattern') ?: DEFAULT_LOG_PATTERN
}
String getRollingFilenamePattern() {
return globalProperty('logger.rolling.file.pattern') ?: DEFAULT_ROLLING_FILENAME_PATTERN
}

private String getScanTime() {
return globalProp('logger.scan.time') ?: DEFAULT_SCAN_TIME
}
String getLoggerFilename() {
return globalProperty('logger.file') ?: DEFAULT_FILENAME
}

private String getRollingFilenamePattern() {
return globalProp('logger.rolling.file.pattern') ?: DEFAULT_ROLLING_FILENAME_PATTERN
}
int getRollingMaxHistory() {
String maxHistory = globalProperty('logger.rolling.history.max')
if (maxHistory != null) {
return Integer.parseInt(maxHistory)
} else {
return DEFAULT_ROLLING_MAX_HISTORY
}
}

private String getLoggerFilename() {
return globalProp('logger.file') ?: DEFAULT_FILENAME
}
private File globalPropertiesFile() {
def env = System.getenv()
String configFolder = env['CONFIG_FOLDER']
return new File("${configFolder}/common/global.properties")
}

private int getRollingMaxHistory() {
String maxHistory = globalProp('logger.rolling.history.max')
if (maxHistory != null) {
return Integer.parseInt(maxHistory)
} else {
return DEFAULT_ROLLING_MAX_HISTORY
private String globalProperty(String propKey) {
return globalProperties()[propKey]
}

private Properties globalProperties() {
if (globalProperties == null) {
Properties props = new Properties()
File globalPropsFile = globalPropertiesFile()
if (globalPropsFile.exists()) {
globalPropsFile.withInputStream {
stream -> props.load(stream)
}
}
globalProperties = props
}
return globalProperties
}
}

Expand All @@ -60,11 +71,12 @@ statusListener(OnConsoleStatusListener)
String rollingFile = "FILE"
String console = "CONSOLE"
List whereToLog = [rollingFile, console]
String logPattern = getLogPattern()
String scanTime = getScanTime()
String currentLogFile = getLoggerFilename()
String rollingFileNamePattern = getRollingFilenamePattern()
int rollingFileMaxHistory = getRollingMaxHistory()
LogbackConfig logbackConfig = new LogbackConfig()
String logPattern = logbackConfig.getLogPattern()
String scanTime = logbackConfig.getScanTime()
String currentLogFile = logbackConfig.getLoggerFilename()
String rollingFileNamePattern = logbackConfig.getRollingFilenamePattern()
int rollingFileMaxHistory = logbackConfig.getRollingMaxHistory()

println """Starting logback
To set your own log file, start it with
Expand Down

0 comments on commit bba6917

Please sign in to comment.