examples: set up and explain logging too.
This commit is contained in:
parent
fbd7346d02
commit
9ddedf9455
|
@ -15,6 +15,7 @@ import spwd
|
||||||
import mitogen.core
|
import mitogen.core
|
||||||
import mitogen.master
|
import mitogen.master
|
||||||
import mitogen.service
|
import mitogen.service
|
||||||
|
import mitogen.utils
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -204,6 +205,15 @@ def work_on_machine(context):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
# Setup logging. Mitogen produces a LOT of logging. Over the course of the
|
||||||
|
# stable series, Mitogen's loggers will be carved up so more selective /
|
||||||
|
# user-friendly logging is possible. mitogen.log_to_file() just sets up
|
||||||
|
# something basic, defaulting to INFO level, but you can override from the
|
||||||
|
# command-line by passing MITOGEN_LOG_LEVEL=debug or MITOGEN_LOG_LEVEL=io.
|
||||||
|
# IO logging is sometimes useful for hangs, but it is often creates more
|
||||||
|
# confusion than it solves.
|
||||||
|
mitogen.utils.log_to_file()
|
||||||
|
|
||||||
# Construct the Broker thread. It manages an async IO loop listening for
|
# Construct the Broker thread. It manages an async IO loop listening for
|
||||||
# reads from any active connection, or wakes from any non-Broker thread.
|
# reads from any active connection, or wakes from any non-Broker thread.
|
||||||
# Because Mitogen uses a background worker thread, it is extremely
|
# Because Mitogen uses a background worker thread, it is extremely
|
||||||
|
@ -234,6 +244,14 @@ def main():
|
||||||
# the context as a subprocess, the simplest possible case.
|
# the context as a subprocess, the simplest possible case.
|
||||||
child = router.local()
|
child = router.local()
|
||||||
print("Created a context:", child)
|
print("Created a context:", child)
|
||||||
|
print()
|
||||||
|
|
||||||
|
# This demonstrates the standard IO redirection. We call the print
|
||||||
|
# function in the remote context, that should cause a log message to be
|
||||||
|
# emitted. Any subprocesses started by the remote also get the same
|
||||||
|
# treatment, so it's very easy to spot otherwise discarded errors/etc.
|
||||||
|
# from remote tools.
|
||||||
|
child.call(print, "Hello from child.")
|
||||||
|
|
||||||
# Context objects make it semi-convenient to treat the local machine the
|
# Context objects make it semi-convenient to treat the local machine the
|
||||||
# same as a remote machine.
|
# same as a remote machine.
|
||||||
|
|
Loading…
Reference in New Issue