Notice: curl_setopt(): CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value...
[plcapi.git] / PLC / Logger.py
1 # pylint: disable=c0103
2
3 import os
4 import logging
5 import logging.config
6
7 # we essentially need one all-purpose logger
8 # that goes into /var/log/plcapi.log
9
10 # for debugging
11 global_filename = "/var/log/plcapi.log"
12 if 'PLCAPILOG' in os.environ:
13     global_filename = os.environ['PLCAPILOG']
14 else:
15     try:
16         with open(global_filename, 'a') as just_checking:
17             pass
18     except OSError:
19         global_filename = "/tmp/plcapi.log"
20
21 plcapi_logging_config = {
22     'version': 1,
23     # IMPORTANT: we may be imported by something else, like sfa, so:
24     'disable_existing_loggers': False,
25     'formatters': {
26         'standard': {
27             'datefmt': '%m-%d %H:%M:%S',
28             'format': ('%(asctime)s %(levelname)s '
29                        '%(filename)s:%(lineno)d %(message)s'),
30         },
31     },
32     'handlers': {
33         'plcapi': {
34             'filename': global_filename,
35             'level': 'INFO',
36             'class': 'logging.FileHandler',
37             'formatter': 'standard',
38         },
39     },
40     'loggers': {
41         'plcapi': {
42             'handlers': ['plcapi'],
43             'level': 'INFO',
44             'propagate': False,
45         },
46     },
47 }
48
49 logging.config.dictConfig(plcapi_logging_config)
50
51 # general case:
52 # from PLC.Logger import logger
53 logger = logging.getLogger('plcapi')
54
55 #################### test
56 if __name__ == '__main__':
57     logger.info("in plcapi")