1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.logic.audit;
20
21 import java.util.Optional;
22 import org.apache.logging.log4j.Level;
23 import org.apache.logging.log4j.LogManager;
24 import org.apache.logging.log4j.core.LoggerContext;
25 import org.apache.logging.log4j.core.appender.rewrite.RewriteAppender;
26 import org.apache.logging.log4j.core.appender.rewrite.RewritePolicy;
27 import org.apache.logging.log4j.core.config.AppenderRef;
28
29
30
31
32
33
34
35
36
37
38 public abstract class DefaultRewriteAuditAppender extends DefaultAuditAppender {
39
40 protected RewriteAppender rewriteAppender;
41
42 public DefaultRewriteAuditAppender(final String domain) {
43 super(domain);
44
45 rewriteAppender = RewriteAppender.createAppender(
46 getTargetAppenderName() + "_rewrite",
47 "true",
48 new AppenderRef[] { AppenderRef.createAppenderRef(getTargetAppenderName(), Level.DEBUG, null) },
49 ((LoggerContext) LogManager.getContext(false)).getConfiguration(), getRewritePolicy(), null);
50 }
51
52 protected RewritePolicy getRewritePolicy() {
53 return PassThroughAuditRewritePolicy.createPolicy();
54 }
55
56 @Override
57 public Optional<RewriteAppender> getRewriteAppender() {
58 return Optional.of(rewriteAppender);
59 }
60 }