Skip to content

Commit 4a00a2d

Browse files
committed
Merge pull request LogentriesCommunity#56 from eflanagan-r7/master
Teach logging handler how to be able to send data different endpoints and ports
2 parents b38c3d8 + 5c23350 commit 4a00a2d

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

logentries/utils.py

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,33 +16,44 @@
1616

1717
import certifi
1818

19+
1920
# Size of the internal event queue
2021
QUEUE_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
2728
MIN_DELAY = 0.1
2829
# Maximal delay between attempts to recconect in seconds
2930
MAX_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
3136
LE = "LE: "
3237
# Error message displayed when an incorrect Token has been detected
3338
INVALID_TOKEN = ("\n\nIt 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

3942
def dbg(msg):
4043
print(LE + msg)
4144

4245

4346
class 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

148159
class 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

Comments
 (0)