[tor-commits] [onionoo/master] logging changes for build.xml, added logback config.
karsten at torproject.org
karsten at torproject.org
Thu Sep 4 09:33:07 UTC 2014
commit 9f39597fecd7c420a4496fa6c46a3b755f0a73e8
Author: iwakeh <iwakeh at users.ourproject.org>
Date: Mon Sep 1 17:30:00 2014 +0000
logging changes for build.xml, added logback config.
---
build.xml | 35 ++++++++++++++++++++------
etc/logback.xml | 57 +++++++++++++++++++++++++++++++++++++++++++
logback.xml | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++
vagrant/bootstrap.sh | 3 ++-
4 files changed, 153 insertions(+), 8 deletions(-)
diff --git a/build.xml b/build.xml
index 0d04892..bfe1067 100644
--- a/build.xml
+++ b/build.xml
@@ -12,6 +12,7 @@
value="${config}/web.xml.template"/>
<property name="webxml" value="${config}/web.xml"/>
<property name="warfile" value="onionoo.war"/>
+ <property name="source-and-target-java-version" value="1.6" />
<path id="classpath">
<pathelement path="${classes}"/>
<fileset dir="/usr/share/java">
@@ -21,25 +22,41 @@
<include name="gson.jar"/>
<include name="junit4.jar"/>
<include name="servlet-api-3.0.jar"/>
+ <include name="logback-classic.jar"/>
+ <include name="logback-core.jar"/>
+ <include name="slf4j-api.jar"/>
</fileset>
<fileset dir="deps/metrics-lib">
<include name="descriptor.jar"/>
</fileset>
+ <fileset dir="${config}">
+ <include name="logback.xml"/>
+ </fileset>
</path>
+
<target name="init">
<copy file="${contextxmltemplate}" tofile="${contextxml}"/>
<copy file="${webxmltemplate}" tofile="${webxml}"/>
<mkdir dir="${classes}"/>
</target>
+
+ <target name="clean" >
+ <delete includeEmptyDirs="true">
+ <fileset dir="${classes}" defaultexcludes="false" includes="**" />
+ </delete>
+ <delete file="${warfile}"/>
+ </target>
+
<target name="metrics-lib">
<ant dir="deps/metrics-lib"/>
</target>
+
<target name="compile"
depends="metrics-lib, init">
<javac destdir="${classes}"
srcdir="${javasources}"
- source="1.5"
- target="1.5"
+ source="${source-and-target-java-version}"
+ target="${source-and-target-java-version}"
debug="true"
deprecation="true"
optimize="false"
@@ -48,11 +65,12 @@
<classpath refid="classpath"/>
</javac>
</target>
+
<target name="test" depends="compile">
<javac destdir="${classes}"
srcdir="${tests}"
- source="1.5"
- target="1.5"
+ source="${source-and-target-java-version}"
+ target="${source-and-target-java-version}"
debug="true"
deprecation="true"
optimize="false"
@@ -78,6 +96,9 @@
<include name="descriptor.jar"/>
</lib>
<lib dir="/usr/share/java">
+ <include name="slf4j-api.jar"/>
+ <include name="logback-classic.jar"/>
+ <include name="logback-core.jar"/>
<include name="commons-codec.jar"/>
<include name="commons-compress.jar"/>
<include name="commons-lang.jar"/>
@@ -86,16 +107,16 @@
<classes dir="${classes}"/>
<zipfileset dir="${config}"
prefix="WEB-INF/classes"
- includes="logging.properties"/>
+ includes="logback.xml"/>
<metainf dir="${config}"
includes="context.xml"/>
</war>
</target>
<target name="run" depends="compile">
+ <copy file="logback.xml" todir="${classes}" />
<java fork="true"
maxmemory="${maxmemory.value}"
- classname="org.torproject.onionoo.cron.Main"
- error="errors">
+ classname="org.torproject.onionoo.cron.Main">
<classpath refid="classpath"/>
</java>
</target>
diff --git a/etc/logback.xml b/etc/logback.xml
new file mode 100644
index 0000000..812c7c9
--- /dev/null
+++ b/etc/logback.xml
@@ -0,0 +1,57 @@
+<configuration debug="false">
+
+ <!-- don't forget the trailing slash! -->
+ <property name="logfile-base" value="/var/log/tomcat6/" />
+ <property name="utc-date-pattern" value="%date{yyyy-MM-dd HH:mm:ss, UTC}" />
+
+ <appender name="FILEALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logfile-base}onionoo-all.log</file>
+ <encoder>
+ <pattern>${utc-date-pattern} %level %logger{25}:%line %msg%n</pattern>
+ </encoder>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- rollover daily -->
+ <FileNamePattern>${logfile-base}onionoo-all.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+ <maxHistory>10</maxHistory>
+ <timeBasedFileNamingAndTriggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <!-- or whenever the file size reaches 1MB -->
+ <maxFileSize>1MB</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ </rollingPolicy>
+ </appender>
+
+ <appender name="FILEERR" class="ch.qos.logback.core.FileAppender">
+ <file>${logfile-base}onionoo-err.log</file>
+ <encoder>
+ <pattern>%date %level %logger{30}(%line): %msg%n</pattern>
+ </encoder>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>ERROR</level>
+ </filter>
+ </appender>
+ <appender name="FILESTATISTICS" class="ch.qos.logback.core.FileAppender">
+ <file>${logfile-base}onionoo-statistics.log</file>
+ <encoder>
+ <pattern>${utc-date-pattern} %msg%n</pattern>
+ </encoder>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ </appender>
+
+ <logger name="org.torproject" >
+ <appender-ref ref="FILEERR" />
+ </logger>
+ <logger name="org.torproject.onionoo.server.PerformanceMetrics" >
+ <appender-ref ref="FILESTATISTICS" />
+ </logger>
+ <logger name="statistics" >
+ <appender-ref ref="FILESTATISTICS" />
+ </logger>
+
+ <root level="ALL">
+ <appender-ref ref="FILEALL" />
+ </root>
+</configuration>
+
diff --git a/logback.xml b/logback.xml
new file mode 100644
index 0000000..f6d16d0
--- /dev/null
+++ b/logback.xml
@@ -0,0 +1,66 @@
+<configuration debug="false">
+
+ <!-- don't forget the trailing slash! -->
+ <property name="logfile-base" value="/srv/onionoo.torproject.org/onionoo/" />
+ <property name="utc-date-pattern" value="%date{yyyy-MM-dd HH:mm:ss, UTC}" />
+
+ <appender name="FILEALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logfile-base}onionoo-all.log</file>
+ <encoder>
+ <pattern>${utc-date-pattern} %level [runtime: %r] %logger{20}:%line %msg%n</pattern>
+ </encoder>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- rollover daily -->
+ <FileNamePattern>${logfile-base}onionoo-all.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+ <maxHistory>10</maxHistory>
+ <timeBasedFileNamingAndTriggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+ <!-- or whenever the file size reaches 1MB -->
+ <maxFileSize>1MB</maxFileSize>
+ </timeBasedFileNamingAndTriggeringPolicy>
+ </rollingPolicy>
+ </appender>
+
+ <appender name="FILEERR" class="ch.qos.logback.core.FileAppender">
+ <file>${logfile-base}onionoo-err.log</file>
+ <encoder>
+ <pattern>${utc-date-pattern} %level %logger{30}(%line): %msg%n</pattern>
+ </encoder>
+
+ <!-- ERROR or worse -->
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>ERROR</level>
+ </filter>
+ </appender>
+
+ <appender name="FILESTATISTICS" class="ch.qos.logback.core.FileAppender">
+ <file>${logfile-base}onionoo-statistics.log</file>
+ <encoder>
+ <pattern>${utc-date-pattern} [runtime: %r] %msg%n</pattern>
+ </encoder>
+
+ <!-- only INFO level -->
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>INFO</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ </appender>
+
+ <logger name="org.torproject" >
+ <appender-ref ref="FILEERR" />
+ </logger>
+ <logger name="org.torproject.onionoo.cron.Main" >
+ <appender-ref ref="FILESTATISTICS" />
+ </logger>
+
+ <!-- a named logger -->
+ <logger name="statistics" >
+ <appender-ref ref="FILESTATISTICS" />
+ </logger>
+
+ <root level="ALL">
+ <appender-ref ref="FILEALL" />
+ </root>
+</configuration>
+
diff --git a/vagrant/bootstrap.sh b/vagrant/bootstrap.sh
index f3f0118..d4b1724 100644
--- a/vagrant/bootstrap.sh
+++ b/vagrant/bootstrap.sh
@@ -9,7 +9,7 @@ apt-get -y upgrade
echo "Installing required packages."
apt-get install -y libcommons-codec-java libcommons-compress-java \
libcommons-lang-java libgoogle-gson-java junit4 libservlet3.0-java \
-openjdk-6-jdk ant liblog4j1.2-java tomcat6
+openjdk-6-jdk ant tomcat6 libslf4j-java liblogback-java
echo "Setting up paths and creating symbolic links."
mkdir -p /srv/onionoo.torproject.org/onionoo/
@@ -21,6 +21,7 @@ ln -s /vagrant/etc
ln -s /vagrant/geoip
ln -s /vagrant/src
ln -s /vagrant/web
+ln -s /vagrant/logback.xml
ln -s /srv/onionoo.torproject.org/onionoo/onionoo.war \
/var/lib/tomcat6/webapps/onionoo.war
chown -R vagrant:vagrant /srv/onionoo.torproject.org/
More information about the tor-commits
mailing list