====== 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