forked from DSpace/DSpace
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlog4j2-container.xml
More file actions
116 lines (101 loc) · 4.77 KB
/
Copy pathlog4j2-container.xml
File metadata and controls
116 lines (101 loc) · 4.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0" encoding="UTF-8"?>
<!-- Logging configuration for DSpace container.
Writes [dspace.dir]/log/dspace.log exactly like log4j2.xml does outside of a container, and
mirrors the same events to stdout so that "docker logs" keeps working. Point the container at
this file with the LOGGING_CONFIG environment variable (see docker-compose-rest.yml).
NOTE: /dspace/log only survives a container recreate when it is mounted as a volume. -->
<Configuration strict='true'
xmlns='http://logging.apache.org/log4j/2.0/config'>
<Properties>
<!-- Log file directory. "dspace.dir" is fixed to /dspace in the image (see Dockerfile),
so the log directory is /dspace/log. Override with the DSPACE_LOG_DIR env variable
when the container installs DSpace somewhere else. -->
<Property name='log.dir'>${env:DSPACE_LOG_DIR:-/dspace/log}</Property>
<!-- Log level for all DSpace-specific code (org.dspace.*)
Possible values (from most to least info):
DEBUG, INFO, WARN, ERROR, FATAL -->
<Property name='loglevel.dspace'>INFO</Property>
<!-- Log level for other third-party tools/APIs used by DSpace
Possible values (from most to least info):
DEBUG, INFO, WARN, ERROR, FATAL -->
<Property name='loglevel.other'>INFO</Property>
<!-- Level of the copy that is echoed to the container console ("docker logs").
dspace.log always receives everything; raise this to WARN, or set it to OFF, to keep
the container output small once dspace.log is being collected. -->
<Property name='loglevel.console'>${env:DSPACE_LOG_CONSOLE_LEVEL:-INFO}</Property>
</Properties>
<Appenders>
<!-- A1 is for most DSpace activity -->
<Appender name='A1'
filePattern='${log.dir}/dspace.log-%d{yyyy-MM-dd}'
type='RollingFile'
fileName='${log.dir}/dspace.log'
>
<!-- NOTE: The %equals patterns are providing a default value of "unknown" if "correlationID" or
"requestID" are not currently set in the ThreadContext. -->
<Layout type='PatternLayout'
pattern='%d %-5p %equals{%X{correlationID}}{}{unknown} %equals{%X{requestID}}{}{unknown} %c @ %m%n'/>
<policies>
<policy type='TimeBasedTriggeringPolicy'>yyyy-MM-dd</policy>
</policies>
<!-- Sample deletion policy: keep last 30 archived files
<DefaultRolloverStrategy>
<Delete basePath='${log.dir}'>
<IfFileName glob='dspace.log-*'/>
<IfAccumulatedFileCount exceeds='30'/>
</Delete>
</DefaultRolloverStrategy>
-->
</Appender>
<!-- STDOUT echoes A1 to the container console, so that "docker logs" is not blind -->
<Appender name='STDOUT'
type='Console'>
<Layout type='PatternLayout'
pattern='%d %-5p %equals{%X{correlationID}}{}{unknown} %equals{%X{requestID}}{}{unknown} %c @ %m%n'/>
<Filters>
<Filter type='ThresholdFilter'
level='${loglevel.console}'/>
</Filters>
</Appender>
<!-- A2 is for the checksum checker -->
<Appender name='A2'
type='Console'>
<Layout type='PatternLayout'
pattern='%m%n'/>
</Appender>
</Appenders>
<Loggers>
<!-- Most parts of DSpace -->
<Logger name='org.dspace'
level='${loglevel.dspace}'
additivity='false'>
<AppenderRef ref='A1'/>
<AppenderRef ref='STDOUT'/>
</Logger>
<!-- The checksum checker -->
<Logger name='org.dspace.checker'
level='INFO'
additivity='false'>
<AppenderRef ref='A2'/>
</Logger>
<!-- Block services logging except on exceptions -->
<Logger name='org.dspace.kernel'
level='ERROR'/>
<Logger name='org.dspace.services'
level='ERROR'/>
<Logger name='org.dspace.servicemanager'
level='WARN'/>
<Logger name='org.dspace.providers'
level='ERROR'/>
<Logger name='org.dspace.utils'
level='ERROR'/>
<!-- Block passwords from being exposed in Axis logs. (DEBUG exposes passwords in Basic Auth) -->
<Logger name='org.apache.axis.handlers.http.HTTPAuthHandler'
level='INFO'/>
<!-- Anything not a part of DSpace -->
<Root level='${loglevel.other}'>
<AppenderRef ref='A1'/>
<AppenderRef ref='STDOUT'/>
</Root>
</Loggers>
</Configuration>