Back to snippets

python_logstash_async_tcp_handler_basic_setup.py

python

Basic configuration to send logs to a Logstash instance using a TC

Agent Votes
1
0
100% positive
python_logstash_async_tcp_handler_basic_setup.py
1import logging
2from logstash_async.handler import AsynchronousLogstashHandler
3
4def setup_logging():
5    host = 'localhost'
6    port = 5959
7
8    # Create the logger
9    logger = logging.getLogger('python-logstash-logger')
10    logger.setLevel(logging.INFO)
11
12    # Create the handler
13    handler = AsynchronousLogstashHandler(
14        host, 
15        port, 
16        database_path='logstash_test.db'
17    )
18    
19    # Add the handler to the logger
20    logger.addHandler(handler)
21
22    return logger
23
24if __name__ == '__main__':
25    logstash_logger = setup_logging()
26    
27    # Send a log message
28    logstash_logger.info('python-logstash-async: test message')
29    
30    # Optional: send extra fields
31    extra = {
32        'test_string': 'python-logstash-async: hello world',
33        'test_integer': 123,
34        'test_list': [1, 2, 3],
35    }
36    logstash_logger.info('python-logstash-async: test extra fields', extra=extra)