Package foolscap :: Package logging :: Module publish :: Class LogPublisher
[hide private]
[frames] | no frames]

Class LogPublisher

source code

                     object --+        
                              |        
referenceable.OnlyReferenceable --+    
                                  |    
        referenceable.Referenceable --+
                                      |
                                     LogPublisher

Publish log events to anyone subscribed to our 'logport'.

This class manages the subscriptions.

Enable this by asking the Tub for a reference to me, or by telling the Tub to offer me to a log gatherer:

lp = tub.getLogPort()
rref.callRemote('have_a_logport', lp)
print 'logport at:', tub.getLogPortFURL()

tub.setOption('log-gatherer-furl', gatherer_furl)

Running 'flogtool tail LOGPORT_FURL' will connect to the logport and print all events that subsequently get logged.

To make the logport use the same furl from one run to the next, give the Tub a filename where it can store the furl. Make sure you do this before touching the logport:

logport_furlfile = 'logport.furl'
tub.setOption('logport-furlfile', logport_furlfile)

If you're using a LogGatherer, pass its FURL into the Tub with tub.setOption('log-gatherer-furl'), or pass the name of a file where it is stored with tub.setOption('log-gatherer-furlfile'). This will cause the Tub to connect to the gatherer and grant it access to the logport.

Instance Methods [hide private]
 
__init__(self, logger)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
remote_get_versions(self) source code
 
remote_get_pid(self) source code
 
remote_subscribe_to_all(self, observer, catch_up=False) source code
 
remote_unsubscribe(self, s) source code
 
trim(self, s, *suffixes) source code
 
list_incident_names(self, since='') source code
 
get_incident_trigger(self, abs_fn) source code
 
remote_list_incidents(self, since='') source code
 
remote_get_incident(self, name) source code
 
remote_subscribe_to_incidents(self, observer, catch_up=False, since='') source code

Inherited from referenceable.Referenceable: doRemoteCall, getInterface, getInterfaceName

Inherited from referenceable.OnlyReferenceable: __providedBy__, processUniqueID

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Class Variables [hide private]
  versions = {'foolscap': '0.3.2', 'twisted': '8.1.0'}
  __implemented__ = <implementedBy foolscap.logging.publish.LogP...
  __provides__ = <zope.interface.declarations.ClassProvides obje...
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, logger)
(Constructor)

source code 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Overrides: object.__init__
(inherited documentation)

Class Variable Details [hide private]

__implemented__

Value:
<implementedBy foolscap.logging.publish.LogPublisher>

__provides__

Value:
<zope.interface.declarations.ClassProvides object at 0x873554c>