1616
1717import certifi
1818
19+
1920# Size of the internal event queue
2021QUEUE_SIZE = 32768
2122# Logentries API server address
22- LE_API = "data.logentries.com"
23+ LE_API_DEFAULT = "data.logentries.com"
2324# Port number for token logging to Logentries API server
24- LE_PORT = 80
25- LE_TLS_PORT = 443
25+ LE_PORT_DEFAULT = 80
26+ LE_TLS_PORT_DEFAULT = 443
2627# Minimal delay between attempts to reconnect in seconds
2728MIN_DELAY = 0.1
2829# Maximal delay between attempts to recconect in seconds
2930MAX_DELAY = 10
31+ # Unicode Line separator character \u2028
32+ LINE_SEP = le_helpers .to_unicode ('\u2028 ' )
33+
34+
3035# LE appender signature - used for debugging messages
3136LE = "LE: "
3237# Error message displayed when an incorrect Token has been detected
3338INVALID_TOKEN = ("\n \n It appears the LOGENTRIES_TOKEN "
3439 "parameter you entered is incorrect!\n \n " )
35- # Unicode Line separator character \u2028
36- LINE_SEP = le_helpers .to_unicode ('\u2028 ' )
3740
3841
3942def dbg (msg ):
4043 print (LE + msg )
4144
4245
4346class PlainTextSocketAppender (threading .Thread ):
44- def __init__ (self , verbose = True ):
47+ def __init__ (self , verbose = True , le_api = LE_API_DEFAULT , le_port = LE_PORT_DEFAULT , le_tls_port = LE_TLS_PORT_DEFAULT ):
4548 threading .Thread .__init__ (self )
49+
50+ # Logentries API server address
51+ self .le_api = le_api
52+
53+ # Port number for token logging to Logentries API server
54+ self .le_port = le_port
55+ self .le_tls_port = le_tls_port
56+
4657 self .daemon = True
4758 self .verbose = verbose
4859 self ._conn = None
@@ -53,7 +64,7 @@ def empty(self):
5364
5465 def open_connection (self ):
5566 self ._conn = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
56- self ._conn .connect ((LE_API , LE_PORT ))
67+ self ._conn .connect ((self . le_api , self . le_port ))
5768
5869 def reopen_connection (self ):
5970 self .close_connection ()
@@ -139,14 +150,14 @@ def open_connection(self):
139150 do_handshake_on_connect = True ,
140151 suppress_ragged_eofs = True ,
141152 )
142- sock .connect ((LE_API , LE_TLS_PORT ))
153+ sock .connect ((self . le_api , self . le_tls_port ))
143154 self ._conn = sock
144155
145156 SocketAppender = TLSSocketAppender
146157
147158
148159class LogentriesHandler (logging .Handler ):
149- def __init__ (self , token , force_tls = False , verbose = True , format = None ):
160+ def __init__ (self , token , force_tls = False , verbose = True , format = None , le_api = LE_API_DEFAULT , le_port = LE_PORT_DEFAULT , le_tls_port = LE_TLS_PORT_DEFAULT ):
150161 logging .Handler .__init__ (self )
151162 self .token = token
152163 self .good_config = True
@@ -164,9 +175,9 @@ def __init__(self, token, force_tls=False, verbose=True, format=None):
164175 self .setFormatter (format )
165176 self .setLevel (logging .DEBUG )
166177 if force_tls :
167- self ._thread = TLSSocketAppender (verbose = verbose )
178+ self ._thread = TLSSocketAppender (verbose = verbose , le_api = le_api , le_port = le_port , le_tls_port = le_tls_port )
168179 else :
169- self ._thread = SocketAppender (verbose = verbose )
180+ self ._thread = SocketAppender (verbose = verbose , le_api = le_api , le_port = le_port , le_tls_port = le_tls_port )
170181
171182 def flush (self ):
172183 # wait for all queued logs to be send
0 commit comments