added logging via logzero; read loglevel from env variable LOGLEVEL

This commit is contained in:
2021-06-15 18:14:38 +02:00
parent 8a909e4664
commit 21a189ea8a
7 changed files with 31 additions and 20 deletions

View File

@ -2,4 +2,5 @@
- pyepics
- bokeh
- colorcet
- logzero

View File

@ -1,4 +1,5 @@
from weakref import WeakSet #TODO: for debugging
from logzero import logger as log
from bokeh.layouts import column, row
@ -33,7 +34,7 @@ class Object:
if self.parent is not None:
self.parent.remove(self)
else:
print(self, "has no parent")
log.debug(f"{self} has no parent")
def __repr__(self):
return repr(self.layout)
@ -75,7 +76,7 @@ class Container(Object):
self.children.remove(obj)
self.layout.children.remove(obj.layout)
if not self.children:
print("Delete emptied container", self)
log.debug(f"Delete emptied container {self}")
self.delete()
def delete(self):

View File

@ -2,6 +2,7 @@ import itertools
from collections import deque
from time import time
from weakref import WeakSet #TODO: for debugging
from logzero import logger as log
class Cache:
@ -72,7 +73,7 @@ class CacheView:
def set_size(self, size):
self.size = size
if size > self.cache.size:
print("Adjust cache size to view size...")
log.debug("Adjust cache size to view size...")
self.cache.set_size(size)

View File

@ -1,4 +1,5 @@
from random import choice
from logzero import logger as log
from bokeh.layouts import column
from bokeh.models import Spacer, TextInput
@ -42,7 +43,7 @@ class Director:
def add_pvs(self, new):
new = new.upper() # PV names are all upper case
grid = break_apart(new)
print(normalized_string(grid))
log.debug(normalized_string(grid))
self.add_pvs_grid(grid)
@ -57,34 +58,34 @@ class Director:
def make_pvs_row(self, pvnames):
container = Row()
for n in pvnames:
print("Add PV:", n)
log.info(f"Add PV: {n}")
try:
a = Actor(n)
except Exception as e:
tn = type(e).__name__
print(f"failed due to: {tn}: {e}")
log.warning(f"failed due to: {tn}: {e}")
else:
self.add_actor(a, container)
return container
def add_actor(self, a, container):
print("Add:", a)
print("Connect close button")
log.info(f"Add: {a}")
log.debug("Connect close button")
a.frm.on_click_close(lambda: self.remove_actor(a, container))
print("Add plot")
log.debug("Add plot")
container.append(a.frm)
print("Add update")
log.debug("Add update")
self.updates.append(a.update)
def remove_actor(self, a, container):
print("Remove:", a)
print("Remove update")
log.info(f"Remove: {a}")
log.debug("Remove update")
self.updates.remove(a.update)
print("Remove plot")
log.debug("Remove plot")
container.remove(a.frm)
print("Delete")
log.debug("Delete")
a.delete()

9
kabuki/logcfg.py Normal file
View File

@ -0,0 +1,9 @@
import os
import logzero
LOGLEVEL = os.environ.get("LOGLEVEL", "WARNING").upper()
logzero.loglevel(LOGLEVEL)

View File

@ -1,16 +1,13 @@
from logzero import logger as log
def bind(obj, handler):
obj.on_change("value", cb(handler))
def cb(handler):
def wrapper(_attr, _old, new):
handler(new)
return wrapper
def cb_dbg(handler):
fn = handler.__name__
def wrapper(attr, old, new):
print(f"Callback {fn}: attribute {repr(attr)} changed from {repr(old)} to {repr(new)}")
log.debug(f"Callback {fn}: attribute {repr(attr)} changed from {repr(old)} to {repr(new)}")
handler(new)
return wrapper

View File

@ -1,5 +1,6 @@
from kabuki.cache import print_caches
from kabuki.director import Director
import kabuki.logcfg
app = Director()