Package lumis.util.log
Interface IAccessAuditLogger
-
- All Known Implementing Classes:
AccessAuditLogger
@StableMinor(version="17.0", sinceVersion="12.3") public interface IAccessAuditLogger
Logger used to log access audit entries. This log is used mainly to log audit entries to indicate some user may have accessed some personal user data.
The main usage is:
ManagerFactory
.getAccessAuditLogger()
// the performed action (if any) .action("render") // here some area to indicate where the access happened .area("User List") // some category may be adder if needed .category("Some category") // if the accessed user identifier is known (or if other identification is desired to be used as the user identifier, such as // an email, for example), it should be added with this method .accessedUserId("XXXXXX") // if the current user identifier is known (or if other identification is desired to be used as the user identifier, such as // an email, for example), it should be added with this method // by default, if no user is set with this method, the currently monitored user will try to be added .currentUserId("YYYYYY") // if it is known that the access was originated by some specific URL, it should br // added in log entry using this method. // if the code adding the log message is in the context of a LumisXP request, // the URL will be added automatically (but still can be replaced by calling this method) .url("https://some_domain/some/path/") // if other parameters are desired to be logged as well, they should be added // with this method (the values and keys of the map will replace line endings with a space character) .extraParameters(Map.of("some extra parameter", "the parameter value")) // write the log message. // if the "log" method is not called, the log entry will not be recorded. // if no log message is desired, .log() could have been used instead .log("Rendered some user information here");
With the default log configuration, the example entry would be written as:
2020-02-10 16:24:07,731 IP: [172.18.0.1] LOGIN: [yoda] URL: [https://some_domain/some/path/] AREA: [User List] CATEGORY: [Some category] ACTION: [render] CURRENT_USER_ID: [YYYYYY] ACCESSED_USER_ID: [XXXXXX] EXTRA_PARAMS: [{some extra parameter: the parameter value}] THREAD: [Thread name goes here] MESSAGE: Rendered some user information here
The log categories of this log are:
lumisservice
lumisservice.lumis
lumisservice.lumis.util
lumisservice.lumis.util.log
lumisservice.lumis.util.log.AccessAuditLogger
The default log configuration includes a mapping for thelumisservice.lumis.util.log.AccessAuditLogger
category for theAccessAuditLoggerAppender
appender. This appender, in the default log configuration, writes the messages to a file${lumisdata}/log/lumis/accessaudit/accessaudit.log
and is configured to roll the file every day at midnight without removing old files.
In most cases, neither URL nor current user identifier will be necessary to be explicitly set.- Since:
- 12.3.0
- Version:
- $Revision$ $Date$
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IAccessAuditLogger
accessedUserId(java.lang.String accessedUserId)
Sets the accessed user identifier (if any).IAccessAuditLogger
action(java.lang.String action)
Sets the action performed when the access was generated (if any).IAccessAuditLogger
area(java.lang.String area)
Sets the area from where the access was generated from (if any).IAccessAuditLogger
category(java.lang.String category)
Sets the category from where the access was generated from (if any).IAccessAuditLogger
currentUserId(java.lang.String currentUserId)
Sets the current user identifier (if any).IAccessAuditLogger
extraParameters(java.util.Map<java.lang.String,java.lang.String> extraParameters)
Sets any desired extra parameters to be logged.void
log()
Log an access audit entry with no message.void
log(java.lang.String message)
Log an access audit entry with the given message.IAccessAuditLogger
url(java.lang.String url)
Sets the URL that generated the access.
-
-
-
Method Detail
-
url
IAccessAuditLogger url(java.lang.String url)
Sets the URL that generated the access. If the code that will log an access entry runs within a LumisXP request cycle (within a data provider, for example), the access URL will automatically be available to the log entry and may be omitted.- Parameters:
url
- the accessed URL that generated the access.- Returns:
- this logger to chain commands.
- Since:
- 12.3.0
-
area
IAccessAuditLogger area(java.lang.String area)
Sets the area from where the access was generated from (if any).- Parameters:
area
- the area.- Returns:
- this logger to chain commands.
- Since:
- 12.3.0
-
category
IAccessAuditLogger category(java.lang.String category)
Sets the category from where the access was generated from (if any).- Parameters:
category
- the category.- Returns:
- this logger to chain commands.
- Since:
- 12.3.0
-
action
IAccessAuditLogger action(java.lang.String action)
Sets the action performed when the access was generated (if any).- Parameters:
action
- the action.- Returns:
- this logger to chain commands.
- Since:
- 12.3.0
-
accessedUserId
IAccessAuditLogger accessedUserId(java.lang.String accessedUserId)
Sets the accessed user identifier (if any).- Parameters:
accessedUserId
- the accessed user identifier.- Returns:
- this logger to chain commands.
- Since:
- 12.3.0
-
currentUserId
IAccessAuditLogger currentUserId(java.lang.String currentUserId)
Sets the current user identifier (if any). If the code that will log an access entry does not add a current user identifier, the currently monitored user will try to be added automatically when the log happens.- Parameters:
currentUserId
- the current user identifier.- Returns:
- this logger to chain commands.
- Since:
- 12.3.0
-
extraParameters
IAccessAuditLogger extraParameters(java.util.Map<java.lang.String,java.lang.String> extraParameters)
Sets any desired extra parameters to be logged.- Parameters:
extraParameters
- the extra parameters.- Returns:
- this logger to chain commands.
- Since:
- 12.3.0
-
log
void log()
Log an access audit entry with no message.- Since:
- 12.3.0
-
log
void log(java.lang.String message)
Log an access audit entry with the given message.- Parameters:
message
- the message.- Since:
- 12.3.0
-
-