Add journald logging and refactor log system
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Mon, 3 Nov 2014 11:28:33 +0000 (12:28 +0100)
committerMaciej J. Karpiuk <m.karpiuk2@samsung.com>
Tue, 17 Feb 2015 10:00:04 +0000 (11:00 +0100)
commit5b139bff5fe05ef4f3c533c0762ba89469a4144b
tree23c4a08d43fcd7d63b77ae829a4badb7d3fbff00
parent860a1461c732d343e03c93089119a95d4f5e9f7b
Add journald logging and refactor log system

Add journald log provider. Simplify log system and log providers. Add support
for environment flags.

[Verification] Compile and run different build configurations with different
CKM_LOG_LEVEL and CKM_LOG_PROVIDER values. For client apps just export desired
log level/provider as CKM_LOG_LEVEL/PROVIDER env variable and run it. For ckm
service use:

'echo "CKM_LOG_LEVEL=X" > /etc/sysconfig/central-key-manager'
'echo "CKM_LOG_PROVIDER=X" >> /etc/sysconfig/central-key-manager'

and restart ckm service.

Supported CKM_LOG_LEVEL values: <0,5>
Supported CKM_LOG_PROVIDER values: {CONSOLE, DLOG, JOURNALD }

Observe logs.

1.Release build
 -by default (CKM_LOG_LEVEL not set) only errors should be logged
 -by default (CKM_LOG_PROVIDER not set) dlog is used
 -logs can be disabled completely by setting CKM_LOG_LEVEL to 0
2.Debug build
 -by default Debug and higher severity logs should be logged
 -by default (CKM_LOG_PROVIDER not set) dlog is used
 -log level can be adjusted to any level <0,5>

Change-Id: I496d12309360354399cf5011680f081ce42ee58f
15 files changed:
packaging/key-manager.spec
src/manager/CMakeLists.txt
src/manager/dpl/core/src/assert.cpp
src/manager/dpl/core/src/exception.cpp
src/manager/dpl/log/include/dpl/log/abstract_log_provider.h
src/manager/dpl/log/include/dpl/log/dlog_log_provider.h
src/manager/dpl/log/include/dpl/log/journal_log_provider.h [new file with mode: 0644]
src/manager/dpl/log/include/dpl/log/log.h
src/manager/dpl/log/include/dpl/log/old_style_log_provider.h
src/manager/dpl/log/src/abstract_log_provider.cpp
src/manager/dpl/log/src/dlog_log_provider.cpp
src/manager/dpl/log/src/journal_log_provider.cpp [new file with mode: 0644]
src/manager/dpl/log/src/log.cpp
src/manager/dpl/log/src/old_style_log_provider.cpp
systemd/central-key-manager.service