Hay varias formas de configurar los parámetros de logging en OpenDJ, ya sea a través del panel de control gráfico, la herramienta de línea de comandos dsconfig y su menú, modificando manualmente el LDIF de configuración… Los parámetros que podemos modificar pasan desde la ubicación y nombre de los ficheros de log hasta sus permisos, severidad de registro de datos, políticas de retención, activación de logs de auditoría, etc.
En mi opinión, la forma más rápida aunque quizás no la más sencilla de hacerlo es directamente pasando por parámetros a «dsconfig» los cambios que queremos realizar. Como es complicado saberse de memoria todas las opciones podríamos antes consultar las de cada «publisher» de logs (el de acceso, errores, audit, etc):
# bin/dsconfig get-log-publisher-prop \ -h localhost \ -p 5444 \ --publisher-name "File-Based Error Logger" Property : Value(s) ---------------------:------------------------------------------------------ append : true default-severity : fatal-error, notice, severe-error, severe-warning enabled : true log-file : logs/errors log-file-permissions : 640 override-severity : - retention-policy : File Count Retention Policy rotation-policy : 7 Days Time Limit Rotation Policy, Size Limit Rotation : Policy
A partir de aquí es muy sencillo, en lugar de «get-log-publisher-prop» pasamos a utilizar «set-log-publisher-prop» junto con las propiedades a modificar. En el siguiente ejemplo modificamos los permisos con los que se genera el log de error de 640 a 644:
# bin/dsconfig -h localhost -p 4444 -D "cn=Directory Manager" Password for user 'cn=Directory Manager': >>>> OpenDJ configuration console main menu What do you want to configure? 1) Access Control Handler 21) Log Publisher 2) Access Log Filtering Criteria 22) Log Retention Policy 3) Account Status Notification Handler 23) Log Rotation Policy 4) Administration Connector 24) Matching Rule 5) Alert Handler 25) Monitor Provider 6) Attribute Syntax 26) Password Generator 7) Backend 27) Password Policy 8) Certificate Mapper 28) Password Storage Scheme 9) Connection Handler 29) Password Validator 10) Crypto Manager 30) Plugin 11) Debug Target 31) Plugin Root 12) Entry Cache 32) Replication Domain 13) Extended Operation Handler 33) Replication Server 14) External Changelog Domain 34) Root DN 15) Global Configuration 35) Root DSE Backend 16) Group Implementation 36) SASL Mechanism Handler 17) Identity Mapper 37) Synchronization Provider 18) Key Manager Provider 38) Trust Manager Provider 19) Local DB Index 39) Virtual Attribute 20) Local DB VLV Index 40) Work Queue q) quit Enter choice: 21 >>>> Log Publisher management menu What would you like to do? 1) List existing Log Publishers 2) Create a new Log Publisher 3) View and edit an existing Log Publisher 4) Delete an existing Log Publisher b) back q) quit Enter choice [b]: 1 Log Publisher : Type : enabled ------------------------------:------------------------:-------- File-Based Access Logger : file-based-access : true File-Based Audit Logger : file-based-audit : false File-Based Debug Logger : file-based-debug : false File-Based Error Logger : file-based-error : true File-Based HTTP Access Logger : file-based-http-access : false Replication Repair Logger : file-based-error : true Press RETURN to continue >>>> Log Publisher management menu What would you like to do? 1) List existing Log Publishers 2) Create a new Log Publisher 3) View and edit an existing Log Publisher 4) Delete an existing Log Publisher b) back q) quit Enter choice [b]: 3 >>>> Select the Log Publisher from the following list: 1) File-Based Access Logger 2) File-Based Audit Logger 3) File-Based Debug Logger 4) File-Based Error Logger 5) File-Based HTTP Access Logger 6) Replication Repair Logger c) cancel q) quit Enter choice [c]: 4 >>>> Configure the properties of the File Based Error Log Publisher Property Value(s) ----------------------------------------------------------------------- 1) append true 2) default-severity fatal-error, notice, severe-error, severe-warning 3) enabled true 4) log-file logs/errors 5) log-file-permissions 640 6) override-severity All messages with the default severity levels are logged. 7) retention-policy File Count Retention Policy 8) rotation-policy 7 Days Time Limit Rotation Policy, Size Limit Rotation Policy ?) help f) finish - apply any changes to the File Based Error Log Publisher c) cancel q) quit Enter choice [f]: 5 >>>> Configuring the "log-file-permissions" property The UNIX permissions of the log files created by this File Based Error Log Publisher . Syntax: MODE - A valid UNIX mode string. The mode string must contain three digits between zero and seven. Do you want to modify the "log-file-permissions" property? 1) Keep the default value: 640 2) Change the value ?) help q) quit Enter choice [1]: 2 Enter a value for the "log-file-permissions" property: 644 Press RETURN to continue >>>> Configure the properties of the File Based Error Log Publisher Property Value(s) ----------------------------------------------------------------------- 1) append true 2) default-severity fatal-error, notice, severe-error, severe-warning 3) enabled true 4) log-file logs/errors 5) log-file-permissions 644 6) override-severity All messages with the default severity levels are logged. 7) retention-policy File Count Retention Policy 8) rotation-policy 7 Days Time Limit Rotation Policy, Size Limit Rotation Policy ?) help f) finish - apply any changes to the File Based Error Log Publisher c) cancel q) quit Enter choice [f]: f The File Based Error Log Publisher was modified successfully Press RETURN to continue
Como podéis observar es mucho más costoso que modificar directamente la propiedad desde la línea de comandos, pero por lo menos así no tiene pérdida y es sencillo de encontrar aunque no estés familiarizado con todas las opciones de OpenDJ.