ListeningSocketHandler 0.1.0

Creator: bradpython12

Last updated:

Add to Cart

Description:

ListeningSocketHandler 0.1.0

ListeningSocketHandler
======================

The opposite of logging.handlers.SocketHandler

Example Usage
-------------

1. Create a logger

>>> import logging
>>> from ListeningSocketHandler import ListeningSocketHandler
>>> log = logging.getLogger()
>>> log.setLevel(logging.DEBUG)

2. Create some handlers

A normal StreamHandler that outputs to stderr and
a ListeningSocketHandler bound to port 12345.

>>> sh = logging.StreamHandler()
>>> sh.setLevel(logging.WARN)
>>> lh = ListeningSocketHandler(12345)
>>> lh.setLevel(logging.DEBUG)

3. Add handlers to the logger

>>> log.addHandler(sh)
>>> log.addHandler(lh)

4. Log some things

>>> log.info("An informational message")
>>> log.warn("A warning message")
A warning message

5. Connect to the logger, and log more detailed events

In a new shell, connect to the logger.

telnetlocalhost12345Backinpython,usedifferentloglevels.>>>log.critical("Acriticalmessage")Acriticalmessage>>>log.debug("Adebuggingmessage")Watchthedetailedstreaminthetelnetsession.AcriticalmessageAdebuggingmessageMakingitworkwithDjango−−−−−−−−−−−−−−−−−−−−−−−−−−1.Installthehandler pip install LoggingSocketHandler

2. Add the ListeningSocketHandler to the LOGGING dict

LOGGING = {
...
'handlers': {
'listeningsocket': {
'level': 'DEBUG',
'class': 'ListeningSocketHandler.ListeningSocketHandler',
},
...
},
'loggers': {
'myapp': {
'handlers': ['listeningsocket'],
'level': 'DEBUG',
'propagate': True,
},
...
},
}

3. Run the server, and check the logs

./manage.pyrunserverListeningSocketHandleronport:40955ListeningSocketHandleronport:49830Validatingmodels...0errorsfoundDjangoversion1.4.2,usingsettings′myproject.settings′Developmentserverisrunningathttp://127.0.0.1:8000/QuittheserverwithCONTROL−C.thedefaultrunserverisstupid,useforemaninstead. foreman start
17:55:11 web.1 | started with pid 24927
17:55:13 web.1 | ListeningSocketHandler on port: 36688
17:55:13 web.1 | Validating models...
17:55:13 web.1 |
17:55:13 web.1 | 0 errors found
17:55:13 web.1 | Django version 1.4.2, using settings 'myproject.settings'
17:55:13 web.1 | Development server is running at http://0.0.0.0:5000/
17:55:13 web.1 | Quit the server with CONTROL-C.

4. Connect to the socket (telnet, netcat etc.)

Prime causes double exponent: use braces to clarifyPrime causes double exponent: use braces to clarify ncat localhost 36688 > detailed-log.txt
^C

Refresh the view, or perform the task to reproduce your bug, then break out
with Control-C when you've got the logs that you want.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.