| /* |
| * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved. |
| * |
| * Licensed under the Apache License 2.0 (the "License"). You may not use |
| * this file except in compliance with the License. You can obtain a copy |
| * in the file LICENSE in the source distribution or at |
| * https://www.openssl.org/source/license.html |
| */ |
| |
| #ifndef OSSL_APPS_LOG_H |
| # define OSSL_APPS_LOG_H |
| |
| # include <openssl/bio.h> |
| # if !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_WINDOWS) \ |
| && !defined(OPENSSL_NO_SOCK) && !defined(OPENSSL_NO_POSIX_IO) |
| # include <syslog.h> |
| # else |
| # define LOG_EMERG 0 |
| # define LOG_ALERT 1 |
| # define LOG_CRIT 2 |
| # define LOG_ERR 3 |
| # define LOG_WARNING 4 |
| # define LOG_NOTICE 5 |
| # define LOG_INFO 6 |
| # define LOG_DEBUG 7 |
| # endif |
| |
| # undef LOG_TRACE |
| # define LOG_TRACE (LOG_DEBUG + 1) |
| |
| int log_set_verbosity(const char *prog, int level); |
| int log_get_verbosity(void); |
| |
| /*- |
| * Output a message using the trace API with the given category |
| * if the category is >= 0 and tracing is enabled. |
| * Log the message to syslog if multi-threaded HTTP_DAEMON, else to bio_err |
| * if the verbosity is sufficient for the given level of severity. |
| * Yet cannot do both types of output in strict ANSI mode. |
| * category: trace category as defined in trace.h, or -1 |
| * prog: the name of the current app, or NULL |
| * level: the severity of the message, e.g., LOG_ERR |
| * fmt: message format, which should not include a trailing newline |
| * ...: potential extra parameters like with printf() |
| * returns nothing |
| */ |
| void trace_log_message(int category, |
| const char *prog, int level, const char *fmt, ...); |
| |
| #endif /* OSSL_APPS_LOG_H */ |