Traçage des événements


Depuis la 4.6, il est possible de tracer les événements utilisateurs (connexion, création, modification de contenu, suppression de page, etc.). Pour cela, il est nécessaire de configurer la catégorie org.ametys.core.trace.TracingEventObserver des journaux au niveau INFO.

Il est possible d'être plus précis en activant uniquement une sous-catégorie. Par exemple, si nous voulons tracer uniquement les événements sur les pages (ajout, déplacement, suppression, etc.), il suffit d'activer le niveau INFO uniquement sur la catégorie org.ametys.core.trace.TracingEventObserver.page. De même, uniquement sur la suppression de page avec la catégorie org.ametys.core.trace.TracingEventObserver.page.deleted.

Enfin, il est possible d'activer de façon pérenne ces événements, et même de les journaliser dans un fichier séparé pour plus de lisibilité. Pour cela, vous devez ajouter (ou décommenter) dans votre fichier log4j.xml (présent dans le dossier WEB-INF) les lignes suivantes :

    <!-- Specific appender to trace events -->
    <appender name="tracing" class="org.apache.log4j.rolling.RollingFileAppender">
        <param name="Encoding" value="UTF-8" />
        <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
          <param name="FileNamePattern" value="${ametys.home.dir}/logs/tracing-%d.log"/>
        </rollingPolicy>
      <layout class="org.apache.log4j.PatternLayout"> 
          <param name="ConversionPattern" value="%d %-5p [%c] (%t;%X{requestURI}) %m%n"/>
        </layout>
        <filter class="org.ametys.core.util.AmetysExceptionFilter"/>
    </appender>

    <!-- Category to uncomment to trace events (and its associated appender) -->
    <category name="org.ametys.core.trace.TracingEventObserver" additivity="false">
        <priority value="info"/>
        <appender-ref ref="tracing"/>
    </category>

Vous pouvez ajuster la catégorie et mettre une ou plusieurs sections <category> si vous souhaitez en journaliser plusieurs.

Exemple de message des journaux :

[unknown][unknown] session.created (lastAccess: 07/09/2022 14:59:34, id: F96BDECF0F803B89C75E0E69276A51F0, creation: 07/09/2022 14:59:34)
[127.0.0.1][system-user#admin_population] user.loggedin
    user: UserIdentity [login=admin, population=ametys-demo-users]
[127.0.0.1][admin#ametys-demo-users] page.added
    page: '/ametys-internal:sites/www/ametys-internal:sitemaps/fr/ma-page' (page://a25ec84c-0e79-4490-8bbe-0ad4493f324c)
[127.0.0.1][admin#ametys-demo-users] page.changed
    page: '/ametys-internal:sites/www/ametys-internal:sitemaps/fr/ma-page' (page://a25ec84c-0e79-4490-8bbe-0ad4493f324c)
[127.0.0.1][admin#ametys-demo-users] content.added
    content.id: defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889
    content: '/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)
[127.0.0.1][admin#ametys-demo-users] zoneitem.added
    zone.type: CONTENT
    page: '/ametys-internal:sites/www/ametys-internal:sitemaps/fr/ma-page' (page://a25ec84c-0e79-4490-8bbe-0ad4493f324c)
    zone.item.id: zoneItem://dc49fcb9-9983-44ae-9a2a-62ecf62fd884
    zone.item.content: '/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)
[127.0.0.1][admin#ametys-demo-users] content.workflow.changed
    content.id: defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889
    content: '/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)
[127.0.0.1][admin#ametys-demo-users] page.updated
    page.tags: [SECTION]
    page: '/ametys-internal:sites/www/ametys-internal:sitemaps/fr/ma-page' (page://a25ec84c-0e79-4490-8bbe-0ad4493f324c)
    page.old.tags: []
[127.0.0.1][admin#ametys-demo-users] content.modifying
    content.id: defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889
    content: '/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)
    content.values: {contact={mail=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@1d91133f, name=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@f4cbd8e}, illustration={image=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@59f46f93, alt-text=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@5bf82669}, comment=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@4e65cec2, abstract=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@242fba4d, title=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@5eddc1ac, document-subtitle=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@448c6f70, content=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@247fbafd, dc={dc_publisher=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@7ddb91ed, dc_rights=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@4dbbef5b, dc_creator=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@6aebee73, dc_relation=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@339a1981, dc_source=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@126fa2e6, dc_description=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@bc56c7, dc_subject=org.ametys.plugins.repository.data.holder.values.SynchronizableValue@3511b8d5}}
[127.0.0.1][admin#ametys-demo-users] content.modified
    content.id: defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889
    content: '/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)
[127.0.0.1][admin#ametys-demo-users] content.workflow.changed
    content.id: defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889
    content: '/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)
[127.0.0.1][admin#ametys-demo-users] content.workflow.changed
    content.id: defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889
    content: '/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)
[127.0.0.1][admin#ametys-demo-users] content.validated
    content.id: defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889
    content: '/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)
[127.0.0.1][admin#ametys-demo-users] page.renamed
    page: '/ametys-internal:sites/www/ametys-internal:sitemaps/fr/test' (page://a25ec84c-0e79-4490-8bbe-0ad4493f324c)
    page.path: test
    path.old.path: ma-page
[127.0.0.1][admin#ametys-demo-users] page.deleting
    page.id: page://a25ec84c-0e79-4490-8bbe-0ad4493f324c
    page.parent: '/ametys-internal:sites/www/ametys-internal:sitemaps/fr' (sitemap://0b96e063-5618-4468-8e63-30bdb50e98d2)
    page.contents: ['/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)]
    page.path: test
    sitemap: '/ametys-internal:sites/www/ametys-internal:sitemaps/fr' (sitemap://0b96e063-5618-4468-8e63-30bdb50e98d2)
[127.0.0.1][admin#ametys-demo-users] page.deleted
    page.id: page://a25ec84c-0e79-4490-8bbe-0ad4493f324c
    page.parent: '/ametys-internal:sites/www/ametys-internal:sitemaps/fr' (sitemap://0b96e063-5618-4468-8e63-30bdb50e98d2)
    page.contents: ['/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)]
    page.path: test
    sitemap: '/ametys-internal:sites/www/ametys-internal:sitemaps/fr' (sitemap://0b96e063-5618-4468-8e63-30bdb50e98d2)
[127.0.0.1][admin#ametys-demo-users] content.deleting
    site.name: www
    content.id: defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889
    content: '/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)
    content.name: ma-page-article
[127.0.0.1][admin#ametys-demo-users] content.deleted
    site.name: www
    content.id: defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889
    content: '/ametys-internal:sites/www/ametys-internal:contents/ma-page-article' (defaultWebContent://80f38083-13c0-4cb1-b4c0-d7082e455889)
    content.name: ma-page-article
[unknown][unknown] session.destroyed (lastAccess: 07/09/2022 15:06:31, id: F96BDECF0F803B89C75E0E69276A51F0, user: admin#ametys-demo-users, creation: 07/09/2022 14:59:34)

Les journaux de traçage peuvent devenir très lourds rapidement, veillez à bien cibler le traçage souhaité et éventuellement à prévoir un log tournant pour automatiquement supprimer les anciens journaux.

Retour en haut