# Module Netplex_log

    module Netplex_log: sig .. end

Loggers

    val level_weight : Netplex_types.level -> int

    val level_of_string : string -> Netplex_types.level

    val channel_logger : Pervasives.out_channel -> Netplex_types.logger

    val stderr_logger_factory : Netplex_types.logger_factory

Reads a logging section like

     logging {
           type = "stderr";
        }

    val file_logger : string -> Netplex_types.logger

Writes messages to this file

    val file_logger_factory : Netplex_types.logger_factory

Reads a logging section like

     logging {
           type = "file";
           file = "/path/to/logfile";
        }

    class type multi_file_config = object .. end

    val multi_file_logger : multi_file_config -> Netplex_types.logger

    val multi_file_logger_factory : Netplex_types.logger_factory

Reads a logging section like

     logging {
           type = "multi_file";
           directory = "/path/to/logdir";
           file {
               component = "name_of_component";
               max_level = "max_level";
               file = "logfile";
           };
           file { ... }; ...
        }

If `component` is missing it will default to "*". If `max_level` is omitted it is assumed to be "all".

    val logger_factories : Netplex_types.logger_factory list

All built-in logger factories

    val debug_scheduling : bool Pervasives.ref

If set to true, the controller and a few other components output a lot of debug messages, mostly scheduling-related.

    val debug_containers : bool Pervasives.ref

If set to true, the containers output when they are started and stopped, and when new connections are accepted.