====== Managing output format through LogBack ====== LSC uses the LogBack library to output various messages. You can enable multiple outputs with different format by simply changing the configuration in the //etc/logback.xml// file. The outputs uses the layouts of logback. So you first have to create an appender, you can find documentation of the appenders here : http://logback.qos.ch/manual/appenders.html. The configuration for a file appender is here : http://logback.qos.ch/manual/appenders.html#FileAppender. Then you have to include this Appender (which is only the output destination description) to a logger like the following sample : <.../> ===== Outputting the synchronization in CSV files ===== In LSC you have a specific layout to log every action in a CSV file. This uses the log4j logs, so you have to declare this in the ///etc/logback.xml// file. Here is a small example : /tmp/csv.log true create,update dn;uid;sn;givenName;description;cn;mail;;objectClass;userAccountControl ; true MyTask Use the //ch.qos.logback.core.FileAppender// or any subclass as an appender. Specify the path to the csv file you want to write to in the tag ////. Use the //org.lsc.utils.output.CsvLayout// for the layout This specific layout has 4 options : - **logOperations** : which actions you want to log (create, update, delete, modrdn). You can specify multiple actions by grouping them with commas ','. - **separator** : which separator you want to use in the output (default a semi-colon **;**) - **attrs** : which attributes you want to write. The attributes MUST be separated by the property **separator**. You can specifiy empty columns if you want to. - **outputHeader** : true or false. This will print the "attrs" option before outputting any data lines - thus your CSV file can have a standard header. - **taskNames** : a coma separated list of tasks you want to output in CSV **Note:** The special attribute name "dn" can be used to output the entry's distinguishedName. You can specify multiple loggers using the same layout and different options. For example, you can specify 4 loggers, one for each actions. ===== Outputting the synchronization in LDIF files ===== In LSC you have a specific layout to log every action in a LDIF file. This uses the logback logs, so you have to declare this in the logback.xml file. Here is a small example: /tmp/csv.log true create,update true The parameters are the same as for the CsvLayout