1
# -*- coding: utf-8 -*-
3
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
4
#Copyright (c) 2005-2006 The PIDA Project
6
#Permission is hereby granted, free of charge, to any person obtaining a copy
7
#of this software and associated documentation files (the "Software"), to deal
8
#in the Software without restriction, including without limitation the rights
9
#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
#copies of the Software, and to permit persons to whom the Software is
11
#furnished to do so, subject to the following conditions:
13
#The above copyright notice and this permission notice shall be included in
14
#all copies or substantial portions of the Software.
16
#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
import logging.handlers
28
def build_logger(name, filepath):
29
format_str = ('%(asctime)s '
31
'%(module)s.%(name)s:%(lineno)s '
33
format = logging.Formatter(format_str)
35
logger = logging.getLogger(name)
37
handler = logging.handlers.RotatingFileHandler(filepath,
39
handler.setFormatter(format)
40
logger.addHandler(handler)
41
# optionally to stdout
42
if 'PIDA_LOG_STDERR' in os.environ:
43
handler = logging.StreamHandler()
44
handler.setFormatter(format)
45
logger.addHandler(handler)
46
if 'PIDA_DEBUG' in os.environ:
50
logger.setLevel(level)