Skip to content

Add audit logging for user actions on sitemap pages #835

@code-kamlesh-sample

Description

@code-kamlesh-sample
%xEx{full}{filters(org.apache.catalina,org.apache.tomcat,org.eclipse.jetty,org.apache.coyote,org.apache.jasper)}
	<RollingFile name="OC" fileName="${sys:opencms.logfile}"
		filePattern="${sys:opencms.logfile}.%i.log.gz">
		<PatternLayout>
			<LevelPatternSelector defaultPattern="%d{DATE} [r:%6X{request_id}] %5p [%30.30C:%4L] %m %n ${exceptionFormat}">
				<PatternMatch key="ERROR" pattern="%d{DATE} [r:%6X{request_id}] %5p [%30.30C:%4L] %m %X %n ${exceptionFormat}" />
			</LevelPatternSelector>
		</PatternLayout>
		<Policies>
			<SizeBasedTriggeringPolicy size="5 MB"/>
		</Policies>
		<DefaultRolloverStrategy max="20"/>
	</RollingFile>

	<RollingFile name="OCSearch" fileName="${sys:opencms.logfolder}opencms-search.log"
		filePattern="${sys:opencms.logfolder}opencms-search.log.%i.log.gz">
		<PatternLayout>
			<LevelPatternSelector defaultPattern="%d{DATE} [r:%6X{request_id}] %5p [%30.30C:%4L] %m %n ${exceptionFormat}">
				<PatternMatch key="ERROR" pattern="%d{DATE} [r:%6X{request_id}] %5p [%30.30C:%4L] %m %X %n ${exceptionFormat}" />
			</LevelPatternSelector>
		</PatternLayout>

		<Policies>
			<SizeBasedTriggeringPolicy size="5 MB"/>
		</Policies>
		<DefaultRolloverStrategy max="20"/>
	</RollingFile>
	
	<RollingFile name="OCUsers" fileName="${sys:opencms.logfolder}opencms-user.log"
		filePattern="${sys:opencms.logfolder}opencms-user.log.%i.log.gz">
		<PatternLayout pattern="%d{DATE} [r:%6X{request_id}] %5p [%30.30C:%4L] %m %n" />
		<Policies>
			<SizeBasedTriggeringPolicy size="5 MB"/>
		</Policies>
		<DefaultRolloverStrategy max="20"/>
	</RollingFile>
	
	<RollingFile name="OCVirusScans" fileName="${sys:opencms.logfolder}opencms-virus-scans.log"
		filePattern="${sys:opencms.logfolder}opencms-virus-scans.log.%i.log.gz">
		<PatternLayout pattern="%d{DATE} [r:%6X{request_id}] %5p [%30.30C:%4L] %m %n" />
		<Policies>
			<SizeBasedTriggeringPolicy size="5 MB"/>
		</Policies>
		<DefaultRolloverStrategy max="20"/>
	</RollingFile>

	<RollingFile name="OCMemoryMonitor" fileName="${sys:opencms.logfolder}opencms-memory.log"
		filePattern="${sys:opencms.logfolder}opencms-memory.log.%i.log.gz">
		<PatternLayout>
			<LevelPatternSelector defaultPattern="%d{DATE} [r:%6X{request_id}] %5p [%30.30C:%4L] %m %n ${exceptionFormat}">
				<PatternMatch key="ERROR" pattern="%d{DATE} [r:%6X{request_id}] %5p [%30.30C:%4L] %m %X %n ${exceptionFormat}" />
			</LevelPatternSelector>
		</PatternLayout>

		<Policies>
			<SizeBasedTriggeringPolicy size="5 MB"/>
		</Policies>
		<DefaultRolloverStrategy max="20"/>
	</RollingFile>

</Appenders>
<Loggers>
    <Logger level="error" name="com.vaadin"/>
    <Logger level="error" name="org.opencms"/>
    <Logger level="info" name="org.opencms.db.log"/>
    <Logger level="info" name="org.opencms.db.mysql.CmsProjectDriver"/>
    <Logger level="info" name="org.opencms.db.oracle.CmsProjectDriver"/>
    <Logger level="info" name="org.opencms.init"/>
    <Logger level="info" name="org.opencms.jsp.CmsJspLoginBean"/>
    <Logger level="info" name="org.opencms.monitor"/>
    <Logger level="info" name="org.opencms.scheduler"/>
    <Logger level="warn" name="org.opencms.ade.configuration.CmsADEConfigData.request" />
    
    <Logger level="warn" name="org.opencms.search" additivity="false">
        <AppenderRef ref="OCSearch"/>
    </Logger>
    <Logger level="warn" name="org.opencms.jsp.search" additivity="false">
        <AppenderRef ref="OCSearch"/>
    </Logger>
    <Logger level="warn" name="org.opencms.jsp.CmsJspTagSearch" additivity="false">
        <AppenderRef ref="OCSearch"/>
    </Logger>
    <Logger level="warn" name="org.opencms.jsp.CmsJspTagSimpleSearch" additivity="false">
        <AppenderRef ref="OCSearch"/>
    </Logger>
    <Logger level="info" name="org.opencms.monitor.CmsMemoryMonitor" additivity="false">
        <AppenderRef ref="OCMemoryMonitor"/>
    </Logger>
    <Logger level="info" name="org.opencms.security.CmsUserLog" additivity="false">
    	<AppenderRef ref="OCUsers" />
    </Logger>
    <Logger level="info" name="org.opencms.ade.upload.CmsVirusScannerLog" additivity="false">
    	<AppenderRef ref="OCVirusScans" />
    </Logger>
    <Root level="error">
        <AppenderRef ref="OC"/>
    </Root>
</Loggers>

I have a log4j2.xml file and I want to generate a new logs file in it. The format of the logs file is as follows.
datetime | user | page | action
Here the user name is the current login user which is given by default in OpenSIMs such as admin.
Here page is a page created using the sitemap feature in opencms 19 version.
Here action is the page created using the sitemap feature in opencms 19 version. What action has been done on that page, such as if a user edited it, if a user deleted a particular content, the action should come like this
Finally, if I want to create logs with this requirement, please give me guidance on what steps to follow, such as what pattern to add.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions