File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import logging
2+ from datetime import datetime
3+
4+
5+ class LogHandlerSumo (logging .Handler ):
6+ def __init__ (self , sumoClient ):
7+ logging .Handler .__init__ (self )
8+ self ._sumoClient = sumoClient
9+ return
10+
11+ def emit (self , record ):
12+ dt = datetime .utcnow ().replace (microsecond = 0 ).isoformat () + "Z"
13+ json = {
14+ "severity" : record .levelname ,
15+ "message" : record .getMessage (),
16+ "timestamp" : dt ,
17+ "source" : record .name ,
18+ "pathname" : record .pathname ,
19+ "funcname" : record .funcName ,
20+ "linenumber" : record .lineno ,
21+ }
22+ self ._sumoClient .post ("/message-log/new" , json = json )
23+ return
24+
25+ pass
Original file line number Diff line number Diff line change 88from ._request_error import raise_request_error_exception
99from ._blob_client import BlobClient
1010from ._sumo_aggregation_client import SumoAggregationClient
11+ from ._logging import LogHandlerSumo
1112
1213logger = logging .getLogger ("sumo.wrapper" )
1314
@@ -378,3 +379,21 @@ def get_aggregate(self, json: dict):
378379 Sumo aggregate response object
379380 """
380381 return self .agg_client .get_aggregate (json )
382+
383+ def getLogger (self , name ):
384+ """Gets a logger object that sends log objects into the message_log
385+ index for the Sumo instance.
386+
387+ Args:
388+ name: string naming the logger instance
389+
390+ Returns:
391+ logger instance
392+
393+ See Python documentation for logging.Logger for details.
394+ """
395+
396+ logger = logging .getLogger (name )
397+ handler = LogHandlerSumo (self )
398+ logger .addHandler (handler )
399+ return logger
You can’t perform that action at this time.
0 commit comments