-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcreate_log.py
More file actions
56 lines (39 loc) · 1.51 KB
/
create_log.py
File metadata and controls
56 lines (39 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import logging as lg
import os
import sys
def create_log(rootDir, instr, utDate, doStdout=None):
"""
Creates and returns a log file handler
@param rootDir: top directory where processed data will be written
@type rootDir: string
@param instr: instrument name
@type instr: string
@param utDate: UT date of observation
@type utDate: string (yyyy-mm-dd)
"""
utDate = utDate.replace('/', '-')
utDateDir = utDate.replace('-', '')
# Where to create the log (rootDir/instr)
processDir = ''.join((rootDir, '/', instr.upper()))
# Setup logging
log_writer = lg.getLogger("koa_dep")
log_writer.setLevel(lg.INFO)
# Create a file handler
logFile = ''.join((processDir, '/dep_', instr.upper(), '_', utDateDir, '.log'))
log_handler = lg.FileHandler(logFile)
log_handler.setLevel(lg.INFO)
# Create logging format
formatter = lg.Formatter('%(asctime)s - %(name)s - %(levelname)s: %(message)s')
log_handler.setFormatter(formatter)
# Add handler to the logger
log_writer.addHandler(log_handler)
#add stdout to output so we don't need both log and print statements(>= warning only)
if (doStdout):
sh = lg.StreamHandler(sys.stdout)
sh.setLevel(lg.WARNING)
formatter = lg.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
sh.setFormatter(formatter)
log_writer.addHandler(sh)
#init message and return
log_writer.info('create_log.py log_writer created')
return log_writer