Graylog Integration for Log Message Generation and Delivery

  • Share this:

Code introduction


This function uses the Graylog third-party library to generate a log message and send it to the Graylog server. It also logs the message to a local log file.


Technology Stack : graypy, logging, logging.handlers

Code Type : Function

Code Difficulty : Intermediate


                
                    
def graylog_random_message_generator(message, severity):
    from graypy import GelfHandler
    from logging.handlers import RotatingFileHandler
    import logging

    # Create a logger
    logger = logging.getLogger('GraylogLogger')
    logger.setLevel(logging.INFO)

    # Create a rotating file handler with 5 MB max size and 3 backups
    file_handler = RotatingFileHandler('graylog_log.log', maxBytes=5*1024*1024, backupCount=3)
    file_handler.setLevel(logging.INFO)

    # Create a Gelf handler to send messages to Graylog
    gelf_handler = GelfHandler('graylog_server_ip', 12201)
    gelf_handler.setLevel(logging.INFO)

    # Add handlers to the logger
    logger.addHandler(file_handler)
    logger.addHandler(gelf_handler)

    # Log a message with a severity level
    logger.log(severity, message)

    return "Message sent to Graylog with severity: {}".format(severity)