Configuration des journaux système

Pour la consignation de la configuration, le débogage et les informations d'erreur, Unica Plan utilise l'utilitaire Apache log4j. Pour modifier les types de messages consignés par cet utilitaire dans le journal système, vous devez modifier la valeur de la propriété de niveau dans le fichier plan_log4j.xml placé dans l'emplacement <Plan_Home>/conf/. Le fichier plan_log4j.xml fait l'objet d'une référence dans les propriétés système JVM par -Dlog4j2.configurationFile et -Dlog4.configurationFile. Si vous utilisez un fichier XML autre que plan_log4j.xml dans les propriétés -Dlog4j2.configurationFile et -Dlog4.configurationFile, vous devez utiliser le même fichier, au lieu d’utiliser le fichier plan_log4j.xml, pour l'objectif mentionné précédemment.

Définition du niveau de journalisation

Vous pouvez définir le niveau de journalisation sur FATAL, ERROR, WARN, INFO, ou DEBUG pour capturer un nombre croissant de messages. Par exemple, pour enregistrer un nombre maximal de messages afin de faciliter l'identification et la résolution d'un problème, accédez à la fin du fichier plan_log4j.xml et remplacez le niveau par DEBUG :

<Root level="DEBUG" includeLocation="true">
      <AppenderRef ref="SYS_LOG"/>
</Root>

Lorsque votre investigation est terminée, rétablissez la valeur par défaut du niveau, WARN :

<Root level="WARN" includeLocation="true">
   <AppenderRef ref="SYS_LOG"/>
</Root>
Conseil : Le fichier plan_log4j.xml est rechargé 60 secondes après sa mise à jour. Vous n'avez donc pas besoin de redémarrer le serveur après avoir modifié ce fichier.

Création d'une sauvegarde de fichier journal

Vous pouvez créer une sauvegarde d'un fichier journal après qu'il a atteint une certaine taille, au moyen de la politique sur les déclencheurs basée sur la taille. Un fichier de sauvegarde est créé lorsque le fichier journal atteint la taille mentionnée dans SizeBasedTriggeringPolicy. La valeur de l'attribut maximal dans DefaultRolloverStrategy représente le nombre maximal de fichiers de sauvegarde pouvant être créés pour un fichier journal.

Soit l'exemple ci-après, qui permet de créer une sauvegarde pour le fichier system.log.


<RollingFile  name="SYS_LOG" fileName="${sys:plan.home}/logs/system.log"
	filePattern="${sys:plan.home}/logs/system.log.%d{yyyy-MM-dd}.%i.log.gz"
	immediateFlush="false" append="true" >
		<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%X\{user}] %-5p %F.%M:%L: %m%n" />
		<Policies>
			<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
			<SizeBasedTriggeringPolicy size="10 MB" />
		</Policies>
		<DefaultRolloverStrategy max="10"/>
		<UALevelMatchFilter levelToMatch="DEBUG, WARN,INFO, ERROR, FATAL" onMatch="ACCEPT" onMismatch="DENY"/>
</RollingFile>
Remarque : si vous copiez l'exemple ci-dessus et l'utilisez tel quel, vous devez mettre en commentaire System Log Appender dans le fichier plan_log4j.xml.

Activation du débogage pour des fonctionnalités spécifiques

Utilisez les modules prédéfinis dans plan_log4j.xml, tels que PROJECT, TASK, APPROVAL, etc., afin d'activer le débogage pour des fonctionnalités spécifiques.

Pour déboguer des modules spécifiques, ajoutez les consignateurs ci-après dans le fichier plan_log4j.xml et supprimez la mise en commentaire des sections appropriées.


	<!-- ============================================================== -->
	<!-- To debug specific module(s), uncomment the following logger(s) -->
	<!-- ============================================================== -->

	<!--  Functionality: PROJECT -->
	<!--
	<Logger name="com.unicacorp.uap.project" level="DEBUG"/>
	-->
	<!--  Functionality: PROGRAM -->
	<!--
	<Logger name="com.unicacorp.uap.program" level="DEBUG"/>
	-->
	<!--  Functionality: PLAN -->
	<!--            
	<Logger name="com.unicacorp.uap.plan" level="DEBUG"/>
	-->
	<!--  Functionality: TASK -->
	<!--
	<Logger name="com.unicacorp.uap.task" level="DEBUG"/>
	-->
	<!--  Functionality: CALENDAR -->
	<!--
	<Logger name="com.unicacorp.uap.calendar" level="DEBUG"/>
	-->
	<!--  Functionality: TEAM -->
	<!--            
	<Logger name="com.unicacorp.uap.team" level="DEBUG"/>
	-->
	<!--  Functionality: ASSET -->
	<!--            
	<Logger name="com.unicacorp.uap.assets" level="DEBUG"/>
	-->
	<!--  Functionality: APPROVAL -->
	<!--
	<Logger name="com.unicacorp.uap.approval" level="DEBUG"/>
	-->
	<!--  Functionality: ACCOUNT -->
	<!--
	<Logger name="com.unicacorp.uap.account" level="DEBUG"/>
	-->
	<!--  Functionality: INVOICE -->
	<!--            
	<Logger name="com.unicacorp.uap.invoice" level="DEBUG"/>
	-->
	<!--  Functionality: FORM EDITOR -->
	<!--            
	<Logger name="com.unicacorp.uap.formeditor" level="DEBUG"/>
	-->
	<!--  Functionality: GRID -->
	<!--            
	<Logger name="com.unica.grid" level="DEBUG"/>
	<Logger name="com.unicacorp.uap.grid" level="DEBUG"/>
	<Logger name="com.unicacorp.uap.tvc.grid" level="DEBUG"/>
	-->
	<!--  Functionality: TEMPLATE -->
	<!--            
	<Logger name="com.unicacorp.uap.common.template" level="DEBUG"/>
	-->
	<!--  Functionality: NOTIFICATION -->
	<!--            
	<Logger name="com.unicacorp.uap.notification" level="DEBUG"/>
	-->
	<!--  Functionality: OFFER -->
	<!--            
	<Logger name="com.unicacorp.uap.offer" level="DEBUG"/>
	-->
	<!--  Functionality: MARKETING OBJECT -->

	<!-- <Logger name="com.unica.uap.component" level="DEBUG"/> -->

Génération des journaux SQL

Vous pouvez générer des journaux SQL si le niveau de consignation racine est défini sur DEBUG.

Important : si vous effectuez une mise à niveau vers le groupe de correctifs 10.0.0.2, le fichier plan_log4j.xml n'est pas remplacé. Une fois que vous avez installé le groupe de correctifs 10.0.0.2, si vous souhaitez désactiver la génération des journaux SQL, vous devez placer en commentaire la section SQL_LOG. Sinon, des journaux SQL seront générés après la mise à niveau.

	<!-- ================ -->
	<!-- SQL Log Appender -->
	<!-- ================ -->
	<!-- uncomment the section below for obtaining sql logs -->
	<!-- 
	<RollingFile  name="SQL_LOG" fileName="${sys:plan.home}/logs/sql.log" 
						filePattern="${sys:plan.home}/logs/sql.log.%d{yyyy-MM-dd}" 
						immediateFlush="false" append="true" >

						<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%X\{user}] %-5p %F.%M:%L: %m%n" />
						<Policies>
											<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
						</Policies>
						<UALevelMatchFilter levelToMatch="SQL" onMatch="ACCEPT" onMismatch="DENY"/>
	</RollingFile> 
	-->

Obtention des journaux d'un utilisateur spécifique dans un fichier journal spécifique

Vous pouvez obtenir les journaux d'un utilisateur spécifique dans un fichier journal spécifique à l'aide de la classe com.unica.afc.logger.UserMatchFilter.

Pour générer les journaux d'un utilisateur spécifique, vous devez ajouter la section ci-après et en supprimer la mise en commentaire dans le fichier plan_log4j.xml, puis ajouter les informations requises pour l'utilisateur spécifique.

L'exemple ci-après crée un fichier journal asm_admin.log pour l'utilisateur asm_admin.


<!-- ================================================================ -->
<!-- To obtain log file(s) by user, uncomment the following logger(s) -->
<!-- Below is an example to obtain a log file (asm_admin.log) for the -->
<!-- 'asm_admin' user.                                                                                                                                                                                                                                            -->
<!-- ================================================================ -->
<!--
	<RollingFile  name="UserLogAppender" fileName="${sys:plan.home}/logs/asm_admin.log"
		filePattern="${sys:plan.home}/logs/asm_admin.log.%d{yyyy-MM-dd}"
		immediateFlush="false" append="true" >
		<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%X\{user}] %-5p %F.%M:%L: %m%n" />
		<Policies>
			<SizeBasedTriggeringPolicy size="10 MB" />
		</Policies>
		<DefaultRolloverStrategy max="10"/>
		<UserMatchFilter user="asm_admin" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
	</RollingFile>
-->
 
<!--
	<Logger name="com.unicacorp" level="DEBUG">
		<AppenderRef ref="UserLogAppender"/>
	</Logger>
				   
	<Logger name="com.unica" level="DEBUG">
		<AppenderRef ref="UserLogAppender"/>
	</Logger>
-->