-
Notifications
You must be signed in to change notification settings - Fork 9
/
__init__.py
90 lines (69 loc) · 2.65 KB
/
__init__.py
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
'''
Libsubmit
=========
Uniform interface to diverse and multi-lingual set of computational resources.
'''
import logging
logger = logging.getLogger(__name__)
from libsubmit.version import VERSION
from libsubmit.error import *
from libsubmit.providers.slurm.slurm import Slurm
from libsubmit.providers.aws.aws import EC2Provider
from libsubmit.providers.azure.azureProvider import AzureProvider
from libsubmit.providers.jetstream.jetstream import Jetstream
from libsubmit.providers.condor.condor import Condor
from libsubmit.providers.torque.torque import Torque
from libsubmit.providers.local.local import Local
from libsubmit.providers.cobalt.cobalt import Cobalt
from libsubmit.channels.ssh.ssh import SshChannel
from libsubmit.channels.ssh_il.ssh_il import SshILChannel
from libsubmit.channels.local.local import LocalChannel
__author__ = 'Yadu Nand Babuji'
__version__ = VERSION
__all__ = ['Slurm', 'EC2Provider', 'AzureProvider', 'Jetstream',
'Local', 'Cobalt', 'Condor', 'Torque',
'LocalChannel', 'SshChannel', 'SshILChannel']
def set_stream_logger(name='libsubmit', level=logging.DEBUG, format_string=None):
'''
Add a stream log handler
Args:
- name (string) : Set the logger name.
- level (logging.LEVEL) : Set to logging.DEBUG by default.
- format_string (sting) : Set to None by default.
Returns:
- None
'''
if format_string is None:
format_string = "%(asctime)s %(name)s [%(levelname)s] %(message)s"
logger = logging.getLogger(name)
logger.setLevel(level)
handler = logging.StreamHandler()
handler.setLevel(level)
formatter = logging.Formatter(format_string)
handler.setFormatter(formatter)
logger.addHandler(handler)
def set_file_logger(filename, name='libsubmit', level=logging.DEBUG, format_string=None):
''' Add a stream log handler
Args:
- filename (string): Name of the file to write logs to
- name (string): Logger name
- level (logging.LEVEL): Set the logging level.
- format_string (string): Set the format string
Returns:
- None
'''
if format_string is None:
format_string = "%(asctime)s %(name)s [%(levelname)s] %(message)s"
logger = logging.getLogger(name)
logger.setLevel(level)
handler = logging.FileHandler(filename)
handler.setLevel(level)
formatter = logging.Formatter(format_string)
handler.setFormatter(formatter)
logger.addHandler(handler)
class NullHandler(logging.Handler):
''' Setup default logging to /dev/null since this is library.
'''
def emit(self, record):
pass
logging.getLogger('libsubmit').addHandler(NullHandler())