IMP  2.0.1
The Integrative Modeling Platform
base/log.py

Show various ways to use the log and control it.

1 ## \example base/log.py
2 ## Show various ways to use the log and control it.
3 
4 import IMP.base
5 
6 class DummyObject(IMP.base.Object):
7  def __init__(self):
8  IMP.base.Object.__init__(self, "DummyObject%1%")
9  def add_log(self):
10  # these are done by the IMP_OBJECT_LOG macro in C++
11  state=IMP.base.SetLogState(self.get_log_level())
12  context= IMP.base.CreateLogContext(self.get_name()+"::add_log")
13  self.set_was_used(True)
14  IMP.base.add_to_log(IMP.base.VERBOSE,
15  "A verbose message in the object\n")
16 # we can set the log level for all of IMP
17 IMP.base.set_log_level(IMP.base.TERSE)
18 
19 # we can tell it to print the time each even occurs
21 
22 # we can create a log context
23 lc= IMP.base.CreateLogContext("my context")
24 
25 # we can print a message
26 IMP.base.add_to_log(IMP.base.TERSE, "This is my log message\n")
27 
28 o= DummyObject()
29 o.set_log_level(IMP.base.VERBOSE)
30 o.add_log()