]> git.ipfire.org Git - location/libloc.git/blob - src/python/logger.py
location-import.in: optimise regular expression for filtering ASN allocations to...
[location/libloc.git] / src / python / logger.py
1 #!/usr/bin/python3
2 ###############################################################################
3 # #
4 # libloc - A library to determine the location of someone on the Internet #
5 # #
6 # Copyright (C) 2020 IPFire Development Team <info@ipfire.org> #
7 # #
8 # This library is free software; you can redistribute it and/or #
9 # modify it under the terms of the GNU Lesser General Public #
10 # License as published by the Free Software Foundation; either #
11 # version 2.1 of the License, or (at your option) any later version. #
12 # #
13 # This library is distributed in the hope that it will be useful, #
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU #
16 # Lesser General Public License for more details. #
17 # #
18 ###############################################################################
19
20 import logging
21 import logging.handlers
22
23 # Initialise root logger
24 log = logging.getLogger("location")
25 log.setLevel(logging.INFO)
26
27 # Log to console
28 handler = logging.StreamHandler()
29 handler.setLevel(logging.DEBUG)
30 log.addHandler(handler)
31
32 # Log to syslog
33 handler = logging.handlers.SysLogHandler(address="/dev/log",
34 facility=logging.handlers.SysLogHandler.LOG_DAEMON)
35 handler.setLevel(logging.INFO)
36 log.addHandler(handler)
37
38 # Format syslog messages
39 formatter = logging.Formatter("%(message)s")
40 handler.setFormatter(formatter)
41
42 def set_level(level):
43 """
44 Sets the log level for the root logger
45 """
46 log.setLevel(level)