Skip to content

Commit

Permalink
#1374 Improve logging
Browse files Browse the repository at this point in the history
  • Loading branch information
To-om committed Jul 21, 2020
1 parent e845a0b commit 7731cb8
Show file tree
Hide file tree
Showing 5 changed files with 70 additions and 19 deletions.
7 changes: 4 additions & 3 deletions docker.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ dockerExposedPorts := Seq(9000)
daemonUser in Docker := "thehive"
daemonGroup in Docker := "thehive"
mappings in Docker ++= Seq(
file("package/docker/entrypoint") -> "/opt/thehive/entrypoint",
file("package/logback.xml") -> "/etc/thehive/logback.xml",
file("package/empty") -> "/var/log/thehive/application.log"
file("package/docker/entrypoint") -> "/opt/thehive/entrypoint",
file("package/logback.xml") -> "/etc/thehive/logback.xml",
file("package/logback-migration.xml") -> "/etc/thehive/logback-migration.xml",
file("package/empty") -> "/var/log/thehive/application.log"
)
mappings in Docker ~= (_.filterNot {
case (_, filepath) => filepath == "/opt/thehive/conf/application.conf"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ import scala.concurrent.duration.{Duration, DurationInt}
import scala.concurrent.{Await, ExecutionContext}

object Migrate extends App with MigrationOps {
Option(System.getProperty("logger.file")).getOrElse {
System.setProperty("logger.file", "/etc/thehive/logback-migration.xml")
}
def getVersion: String = Option(getClass.getPackage.getImplementationVersion).getOrElse("SNAPSHOT")
def addConfig(config: Config, settings: (String, Any)*): Config =
ConfigFactory.parseMap(Map(settings: _*).asJava).withFallback(config)
Expand Down
15 changes: 9 additions & 6 deletions package.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@ import Common.remapPath
// Install service files
mappings in Universal ~= {
_.flatMap {
case (_, "conf/application.conf") => Nil
case (_, "conf/application.conf") => Nil
case (file, "conf/application.sample.conf") => Seq(file -> "conf/application.conf")
case (_, "conf/logback.xml") => Nil
case other => Seq(other)
case (_, "conf/logback.xml") => Nil
case (_, "conf/logback-migration.xml") => Nil
case other => Seq(other)
} ++ Seq(
file("package/logback.xml") -> "conf/logback.xml"
file("package/logback.xml") -> "conf/logback.xml",
file("package/logback-migration.xml") -> "conf/logback-migration.xml"
)
}

Expand Down Expand Up @@ -38,8 +40,9 @@ linuxPackageMappings ++= Seq(
file("package/thehive.service") -> "/usr/lib/systemd/system/thehive.service"
).withPerms("644"),
packageMapping(
file("conf/application.sample.conf") -> "/etc/thehive/application.conf",
file("package/logback.xml") -> "/etc/thehive/logback.xml"
file("conf/application.sample.conf") -> "/etc/thehive/application.conf",
file("package/logback.xml") -> "/etc/thehive/logback.xml",
file("package/logback-migration.xml") -> "/etc/thehive/logback-migration.xml"
).withPerms("644").withConfig()
)
daemonUser := "thehive"
Expand Down
44 changes: 44 additions & 0 deletions package/logback-migration.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">

<conversionRule conversionWord="coloredLevel"
converterClass="play.api.libs.logback.ColoredLevel"/>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/thehive/application.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>/var/log/logs/application.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%date [%level] from %logger in %thread [%X{request}|%X{tx}] %message%n%xException</pattern>
</encoder>
</appender>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%coloredLevel %message%n%xException{10}
</pattern>
</encoder>
</appender>

<appender name="ASYNCFILE" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="FILE"/>
</appender>

<appender name="ASYNCSTDOUT" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="STDOUT"/>
</appender>

<logger name="org.thp" level="INFO"/>

<root level="OFF">
<appender-ref ref="ASYNCFILE"/>
<appender-ref ref="ASYNCSTDOUT"/>
</root>

</configuration>
20 changes: 10 additions & 10 deletions package/logback.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,43 +2,43 @@
<configuration debug="false">

<conversionRule conversionWord="coloredLevel"
converterClass="play.api.libs.logback.ColoredLevel" />
converterClass="play.api.libs.logback.ColoredLevel"/>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/thehive/application.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${application.home:-.}/logs/application.%i.log.zip</fileNamePattern>
<fileNamePattern>/var/log/logs/application.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%date [%level] from %logger in %thread - %message%n%xException</pattern>
<pattern>%date [%level] from %logger in %thread [%X{request}|%X{tx}] %message%n%xException</pattern>
</encoder>
</appender>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%coloredLevel %logger{15} - %message%n%xException{10}
<pattern>%coloredLevel %logger{15} [%X{request}|%X{tx}] %message%n%xException{10}
</pattern>
</encoder>
</appender>

<appender name="ASYNCFILE" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="FILE" />
<appender-ref ref="FILE"/>
</appender>

<appender name="ASYNCSTDOUT" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="STDOUT" />
<appender-ref ref="STDOUT"/>
</appender>

<logger name="org.thp" level="INFO" />
<logger name="org.thp" level="INFO"/>

<root level="INFO">
<appender-ref ref="ASYNCFILE" />
<appender-ref ref="ASYNCSTDOUT" />
<appender-ref ref="ASYNCFILE"/>
<appender-ref ref="ASYNCSTDOUT"/>
</root>

</configuration>
</configuration>

0 comments on commit 7731cb8

Please sign in to comment.