Feature/graphql logging (#674)
* Set graphql logs to error level Set log level for loggers with names - ExecutionStrategy (spams logs with "... completing field ...") - notprivacysafe (logs every received request up to 4 times (received, parse, validate, execute)) * Extract logic to get logger for name into function * Add function to set log level for a logger * Add settings to enable graphql debug logging
This commit is contained in:
@@ -79,7 +79,7 @@ open class ConfigManager {
|
||||
|
||||
// set log level early
|
||||
if (debugLogsEnabled(config)) {
|
||||
setLogLevel(Level.DEBUG)
|
||||
setLogLevelFor(BASE_LOGGER_NAME, Level.DEBUG)
|
||||
}
|
||||
|
||||
return config
|
||||
|
||||
@@ -55,6 +55,11 @@ private fun getBaseLogger(): ch.qos.logback.classic.Logger {
|
||||
return (KotlinLogging.logger(Logger.ROOT_LOGGER_NAME).underlyingLogger as ch.qos.logback.classic.Logger)
|
||||
}
|
||||
|
||||
private fun getLogger(name: String): ch.qos.logback.classic.Logger {
|
||||
val context = LoggerFactory.getILoggerFactory() as LoggerContext
|
||||
return context.getLogger(name)
|
||||
}
|
||||
|
||||
fun initLoggerConfig(appRootPath: String) {
|
||||
val context = LoggerFactory.getILoggerFactory() as LoggerContext
|
||||
val logger = getBaseLogger()
|
||||
@@ -62,11 +67,19 @@ fun initLoggerConfig(appRootPath: String) {
|
||||
logger.addAppender(createRollingFileAppender(context, "$appRootPath/logs"))
|
||||
|
||||
// set "kotlin exposed" log level
|
||||
context.getLogger("Exposed").level = Level.ERROR
|
||||
setLogLevelFor("Exposed", Level.ERROR)
|
||||
}
|
||||
|
||||
fun setLogLevel(level: Level) {
|
||||
getBaseLogger().level = level
|
||||
const val BASE_LOGGER_NAME = "_BaseLogger"
|
||||
|
||||
fun setLogLevelFor(name: String, level: Level) {
|
||||
val logger = if (name == BASE_LOGGER_NAME) {
|
||||
getBaseLogger()
|
||||
} else {
|
||||
getLogger(name)
|
||||
}
|
||||
|
||||
logger.level = level
|
||||
}
|
||||
|
||||
fun debugLogsEnabled(config: Config) =
|
||||
|
||||
Reference in New Issue
Block a user