Skip to content

Commit f0d9024

Browse files
authored
Merge pull request #4052 from zlamalp/auditlogger2
feat: use journald instead of syslog in perun-auditlogger
2 parents 4ecbcc1 + fdd9e54 commit f0d9024

File tree

4 files changed

+24
-29
lines changed

4 files changed

+24
-29
lines changed

perun-auditlogger/src/main/java/cz/metacentrum/perun/auditlogger/logger/impl/EventLoggerImpl.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package cz.metacentrum.perun.auditlogger.logger.impl;
22

3-
import cz.metacentrum.perun.audit.events.AuditEvent;
43
import cz.metacentrum.perun.auditlogger.logger.EventLogger;
54
import cz.metacentrum.perun.auditlogger.service.AuditLoggerManager;
6-
import cz.metacentrum.perun.auditparser.AuditParser;
75
import cz.metacentrum.perun.core.api.AuditMessage;
86
import cz.metacentrum.perun.core.api.Perun;
97
import cz.metacentrum.perun.core.api.PerunSession;
@@ -37,9 +35,9 @@ public class EventLoggerImpl implements EventLogger, Runnable {
3735

3836
private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
3937

40-
private static final String SYSLOG_LOGGER_NAME = "syslog-logger";
38+
private static final String AUDIT_LOGGER_NAME = "journal-audit";
4139

42-
private static final Logger syslog = LoggerFactory.getLogger(SYSLOG_LOGGER_NAME);
40+
private static final Logger journal = LoggerFactory.getLogger(AUDIT_LOGGER_NAME);
4341

4442
private static final Map<Class<?>,Class<?>> mixinMap = new HashMap<>();
4543
private static final ObjectMapper mapper = new ObjectMapper();
@@ -108,7 +106,7 @@ public void run() {
108106
log.debug("SKIP FLAG WARNING: lastProcessedIdNumber: {} - newMessageNumber: {} = {}",
109107
lastProcessedIdNumber, message.getId(), (lastProcessedIdNumber - message.getId()));
110108
}
111-
//IMPORTANT STEP2: send all messages to syslog
109+
//IMPORTANT STEP2: send all messages to journal
112110
if(this.logMessage(message) == 0) {
113111
messagesIterator.remove();
114112
lastProcessedIdNumber = message.getId();
@@ -149,7 +147,7 @@ public void run() {
149147
@Override
150148
public int logMessage(AuditMessage message) {
151149
try {
152-
syslog.info(mapper.writeValueAsString(message));
150+
journal.info(mapper.writeValueAsString(message));
153151
} catch (JsonProcessingException e) {
154152
return -1;
155153
}

perun-auditlogger/src/main/java/cz/metacentrum/perun/auditlogger/service/impl/AuditLoggerManagerImpl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ public class AuditLoggerManagerImpl implements AuditLoggerManager {
2020

2121
private final static String DEFAULT_CONSUMER_NAME = "auditlogger";
2222
private final static String DEFAULT_STATE_FILE = "./auditlogger.state";
23-
23+
2424
private Thread eventProcessorThread;
2525
@Autowired
2626
private EventLogger eventLogger;
27-
@Autowired
27+
@Autowired
2828
private Properties propertiesBean;
29-
29+
3030
private PerunPrincipal perunPrincipal;
3131
private Perun perunBl;
3232
private PerunSession perunSession;
3333

34-
34+
3535
public void startProcessingEvents() {
3636
eventProcessorThread = new Thread(eventLogger);
3737
eventProcessorThread.start();

perun-auditlogger/src/main/resources/logback.xml

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,12 @@
22

33
<contextName>perun-auditlogger</contextName>
44

5-
<!-- variables defining the destination for syslog messages -->
6-
<variable name="SYSLOG_HOST" value="${auditlogger.syslog.host:-localhost}" />
7-
<variable name="SYSLOG_FACILITY" value="${auditlogger.syslog.facility:-LOCAL0}" />
8-
95
<!-- variable defining the directory where log files will be put, takes system property perun.log -->
106
<variable name="LOGDIR" value="${perun.log:-/var/log/perun/}" />
117

128
<!-- production setting for format of log lines -->
139
<variable name="ENCODER_PATTERN" value="%date [%thread] %-5level %logger{35} - %msg%n"/>
1410

15-
<!-- variables configuring syslog parameters -->
16-
1711
<appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="perun-auditlogger">
1812
<file>${LOGDIR}perun-auditlogger.log</file>
1913
<!-- see https://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy -->
@@ -28,24 +22,27 @@
2822
</encoder>
2923
</appender>
3024

31-
<appender class="ch.qos.logback.classic.net.SyslogAppender" name="syslog-appender">
32-
<syslogHost>${SYSLOG_HOST}</syslogHost>
33-
<facility>${SYSLOG_FACILITY}</facility>
34-
<suffixPattern>%msg</suffixPattern>
35-
<throwableExcluded>true</throwableExcluded>
36-
</appender>
37-
3825
<root level="info">
3926
<appender-ref ref="perun-auditlogger"/>
4027
</root>
4128

4229
<logger name="cz.metacentrum.perun.auditlogger" level="debug"/>
43-
44-
<logger name="syslog-logger" level="debug" additivity="false">
45-
<appender-ref ref="syslog-appender" />
46-
</logger>
4730

4831
<!-- keep Spring quiet -->
4932
<logger name="org.springframework" level="warn"/>
5033

34+
<!-- Actual audit messages logging -->
35+
<appender class="org.gnieh.logback.SystemdJournalAppender" name="journal-audit">
36+
<syslogIdentifier>perun_audit</syslogIdentifier>
37+
<logLoggerName>true</logLoggerName>
38+
<logStacktrace>false</logStacktrace>
39+
<encoder>
40+
<pattern>%msg</pattern>
41+
</encoder>
42+
</appender>
43+
44+
<logger name="journal-audit" level="info" additivity="false">
45+
<appender-ref ref="journal-audit" />
46+
</logger>
47+
5148
</configuration>

perun-auditlogger/src/main/resources/perun-auditlogger.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ http://www.springframework.org/schema/aop http://www.springframework.org/schema/
2828
<bean id="defaultProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
2929
<property name="properties">
3030
<props>
31-
<prop key="auditlogger.syslog.host">localhost</prop>
32-
<prop key="auditlogger.syslog.facility">LOCAL0</prop>
31+
<prop key="auditlogger.consumer">auditlogger</prop>
32+
<prop key="auditlogger.statefile">./perun-auditlogger-last-state</prop>
3333
</props>
3434
</property>
3535
</bean>

0 commit comments

Comments
 (0)