Skip to content

Commit 625ad03

Browse files
Merge pull request #51 from PerimeterX/master
Added saner production rolling log file options
2 parents b8f20df + 26a07b0 commit 625ad03

3 files changed

Lines changed: 68 additions & 0 deletions

File tree

defaults/main.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ log_dir: /var/log/zookeeper
2323
zookeeper_dir: /opt/zookeeper-{{zookeeper_version}}
2424
zookeeper_tarball_dir: /opt/src
2525

26+
# Rolling file appender setttings
27+
zookeeper_rolling_log_file_max_size: 10MB
28+
zookeeper_max_rolling_log_file_count: 10
29+
2630
# List of dict (i.e. {zookeeper_hosts:[{host:,id:},{host:,id:},...]})
2731
zookeeper_hosts:
2832
- host: "{{inventory_hostname}}" # the machine running

tasks/common-config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66
- Restart zookeeper
77
when: zookeeper_env is defined and zookeeper_env|length > 0
88

9+
- name: Update the log4j config with saner production values
10+
template: src=log4j.properties.j2 dest={{ zookeeper_dir }}/conf/log4j.properties
11+
tags: deploy
12+
notify:
13+
- Restart zookeeper
14+
915
- name: Start zookeeper service
1016
service: name=zookeeper state=started enabled=yes
1117
tags: deploy

templates/log4j.properties.j2

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Define some default values that can be overridden by system properties
2+
zookeeper.root.logger=INFO, CONSOLE, ROLLINGFILE
3+
zookeeper.console.threshold=INFO
4+
zookeeper.log.dir=.
5+
zookeeper.log.file=zookeeper.log
6+
zookeeper.log.threshold=DEBUG
7+
zookeeper.tracelog.dir=.
8+
zookeeper.tracelog.file=zookeeper_trace.log
9+
10+
#
11+
# ZooKeeper Logging Configuration
12+
#
13+
14+
# Format is "<default threshold> (, <appender>)+
15+
16+
# DEFAULT: console appender only
17+
log4j.rootLogger=${zookeeper.root.logger}
18+
19+
# Example with rolling log file
20+
#log4j.rootLogger=DEBUG, CONSOLE, ROLLINGFILE
21+
22+
# Example with rolling log file and tracing
23+
#log4j.rootLogger=TRACE, CONSOLE, ROLLINGFILE, TRACEFILE
24+
25+
#
26+
# Log INFO level and above messages to the console
27+
#
28+
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
29+
log4j.appender.CONSOLE.Threshold=${zookeeper.console.threshold}
30+
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
31+
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n
32+
33+
#
34+
# Add ROLLINGFILE to rootLogger to get log file output
35+
# Log DEBUG level and above messages to a log file
36+
log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender
37+
log4j.appender.ROLLINGFILE.Threshold=${zookeeper.log.threshold}
38+
log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/${zookeeper.log.file}
39+
40+
# Max log file size of 10MB
41+
log4j.appender.ROLLINGFILE.MaxFileSize={{ zookeeper_rolling_log_file_max_size }}
42+
# uncomment the next line to limit number of backup files
43+
log4j.appender.ROLLINGFILE.MaxBackupIndex={{ zookeeper_max_rolling_log_file_count }}
44+
45+
log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
46+
log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n
47+
48+
49+
#
50+
# Add TRACEFILE to rootLogger to get log file output
51+
# Log DEBUG level and above messages to a log file
52+
log4j.appender.TRACEFILE=org.apache.log4j.FileAppender
53+
log4j.appender.TRACEFILE.Threshold=TRACE
54+
log4j.appender.TRACEFILE.File=${zookeeper.tracelog.dir}/${zookeeper.tracelog.file}
55+
56+
log4j.appender.TRACEFILE.layout=org.apache.log4j.PatternLayout
57+
### Notice we are including log4j's NDC here (%x)
58+
log4j.appender.TRACEFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L][%x] - %m%n

0 commit comments

Comments
 (0)