Merge pull request #692 from darko-poljak/log-timestamping-config
Add timestamping log option to config file.
This commit is contained in:
commit
f705fe8fc6
4 changed files with 122 additions and 0 deletions
|
@ -261,6 +261,7 @@ _ARG_OPTION_MAPPING = {
|
||||||
'verbose': 'verbosity',
|
'verbose': 'verbosity',
|
||||||
'use_archiving': 'archiving',
|
'use_archiving': 'archiving',
|
||||||
'save_output_streams': 'save_output_streams',
|
'save_output_streams': 'save_output_streams',
|
||||||
|
'timestamp': 'timestamp',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -304,6 +305,7 @@ class Configuration(metaclass=Singleton):
|
||||||
'archiving': ArchivingOption(),
|
'archiving': ArchivingOption(),
|
||||||
'save_output_streams': BooleanOption('save_output_streams',
|
'save_output_streams': BooleanOption('save_output_streams',
|
||||||
default_overrides=False),
|
default_overrides=False),
|
||||||
|
'timestamp': BooleanOption('timestamp'),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1296,6 +1296,118 @@ class ConfigurationTestCase(test.CdistTestCase):
|
||||||
self.fail("Exception should not have been raised: {}".format(
|
self.fail("Exception should not have been raised: {}".format(
|
||||||
e))
|
e))
|
||||||
|
|
||||||
|
def test_configuration_timestamping_log_1(self):
|
||||||
|
config = newConfigParser()
|
||||||
|
config['GLOBAL'] = {
|
||||||
|
'timestamp': 'True',
|
||||||
|
}
|
||||||
|
|
||||||
|
global_config_file = os.path.join(fixtures, 'cdist-global.cfg')
|
||||||
|
with open(global_config_file, 'w') as f:
|
||||||
|
config.write(f)
|
||||||
|
|
||||||
|
expected_config_dict = {
|
||||||
|
'GLOBAL': {
|
||||||
|
'timestamp': True,
|
||||||
|
'verbosity': 0,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
config_files = (global_config_file, )
|
||||||
|
|
||||||
|
# bypass singleton so we can test further
|
||||||
|
cc.Configuration.instance = None
|
||||||
|
|
||||||
|
args = argparse.Namespace()
|
||||||
|
args.timestamp = True
|
||||||
|
configuration = cc.Configuration(args, env=None,
|
||||||
|
config_files=config_files)
|
||||||
|
self.assertEqual(configuration.config, expected_config_dict)
|
||||||
|
|
||||||
|
def test_configuration_timestamping_log_2(self):
|
||||||
|
config = newConfigParser()
|
||||||
|
config['GLOBAL'] = {
|
||||||
|
'timestamp': 'False',
|
||||||
|
}
|
||||||
|
|
||||||
|
global_config_file = os.path.join(fixtures, 'cdist-global.cfg')
|
||||||
|
with open(global_config_file, 'w') as f:
|
||||||
|
config.write(f)
|
||||||
|
|
||||||
|
expected_config_dict = {
|
||||||
|
'GLOBAL': {
|
||||||
|
'timestamp': True,
|
||||||
|
'verbosity': 0,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
config_files = (global_config_file, )
|
||||||
|
|
||||||
|
# bypass singleton so we can test further
|
||||||
|
cc.Configuration.instance = None
|
||||||
|
|
||||||
|
args = argparse.Namespace()
|
||||||
|
args.timestamp = True
|
||||||
|
configuration = cc.Configuration(args, env=None,
|
||||||
|
config_files=config_files)
|
||||||
|
self.assertEqual(configuration.config, expected_config_dict)
|
||||||
|
|
||||||
|
def test_configuration_timestamping_log_3(self):
|
||||||
|
config = newConfigParser()
|
||||||
|
config['GLOBAL'] = {
|
||||||
|
'timestamp': 'False',
|
||||||
|
}
|
||||||
|
|
||||||
|
global_config_file = os.path.join(fixtures, 'cdist-global.cfg')
|
||||||
|
with open(global_config_file, 'w') as f:
|
||||||
|
config.write(f)
|
||||||
|
|
||||||
|
expected_config_dict = {
|
||||||
|
'GLOBAL': {
|
||||||
|
'timestamp': False,
|
||||||
|
'verbosity': 0,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
config_files = (global_config_file, )
|
||||||
|
|
||||||
|
# bypass singleton so we can test further
|
||||||
|
cc.Configuration.instance = None
|
||||||
|
|
||||||
|
args = argparse.Namespace()
|
||||||
|
args.timestamp = False
|
||||||
|
configuration = cc.Configuration(args, env=None,
|
||||||
|
config_files=config_files)
|
||||||
|
self.assertEqual(configuration.config, expected_config_dict)
|
||||||
|
|
||||||
|
def test_configuration_timestamping_log_4(self):
|
||||||
|
config = newConfigParser()
|
||||||
|
config['GLOBAL'] = {
|
||||||
|
'timestamp': 'True',
|
||||||
|
}
|
||||||
|
|
||||||
|
global_config_file = os.path.join(fixtures, 'cdist-global.cfg')
|
||||||
|
with open(global_config_file, 'w') as f:
|
||||||
|
config.write(f)
|
||||||
|
|
||||||
|
expected_config_dict = {
|
||||||
|
'GLOBAL': {
|
||||||
|
'timestamp': False,
|
||||||
|
'verbosity': 0,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
config_files = (global_config_file, )
|
||||||
|
|
||||||
|
# bypass singleton so we can test further
|
||||||
|
cc.Configuration.instance = None
|
||||||
|
|
||||||
|
args = argparse.Namespace()
|
||||||
|
args.timestamp = False
|
||||||
|
configuration = cc.Configuration(args, env=None,
|
||||||
|
config_files=config_files)
|
||||||
|
self.assertEqual(configuration.config, expected_config_dict)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import unittest
|
import unittest
|
||||||
|
|
|
@ -94,6 +94,10 @@ The possible keywords and their meanings are as follows:
|
||||||
It recognizes boolean values from 'yes'/'no', 'on'/'off', 'true'/'false'
|
It recognizes boolean values from 'yes'/'no', 'on'/'off', 'true'/'false'
|
||||||
and '1'/'0'.
|
and '1'/'0'.
|
||||||
|
|
||||||
|
:strong:`timestamp`
|
||||||
|
Timestamp log messages with the current local date and time
|
||||||
|
in the format: YYYYMMDDHHMMSS.us.
|
||||||
|
|
||||||
:strong:`verbosity`
|
:strong:`verbosity`
|
||||||
Set verbosity level. Valid values are:
|
Set verbosity level. Valid values are:
|
||||||
'ERROR', 'WARNING', 'INFO', 'VERBOSE', 'DEBUG', 'TRACE' and 'OFF'.
|
'ERROR', 'WARNING', 'INFO', 'VERBOSE', 'DEBUG', 'TRACE' and 'OFF'.
|
||||||
|
|
|
@ -521,6 +521,10 @@ The possible keywords and their meanings are as follows:
|
||||||
It recognizes boolean values from 'yes'/'no', 'on'/'off', 'true'/'false'
|
It recognizes boolean values from 'yes'/'no', 'on'/'off', 'true'/'false'
|
||||||
and '1'/'0'.
|
and '1'/'0'.
|
||||||
|
|
||||||
|
:strong:`timestamp`
|
||||||
|
Timestamp log messages with the current local date and time
|
||||||
|
in the format: YYYYMMDDHHMMSS.us.
|
||||||
|
|
||||||
:strong:`verbosity`
|
:strong:`verbosity`
|
||||||
Set verbosity level. Valid values are:
|
Set verbosity level. Valid values are:
|
||||||
'ERROR', 'WARNING', 'INFO', 'VERBOSE', 'DEBUG', 'TRACE' and 'OFF'.
|
'ERROR', 'WARNING', 'INFO', 'VERBOSE', 'DEBUG', 'TRACE' and 'OFF'.
|
||||||
|
|
Loading…
Reference in a new issue