proton  0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
log.h
Go to the documentation of this file.
1 #ifndef LOG_H
2 #define LOG_H
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements. See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership. The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License. You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied. See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21 
22 #include <proton/import_export.h>
23 #include <proton/type_compat.h>
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 /**@file
30  *
31  * Control log messages that are not associated with a transport.
32  * See pn_transport_trace for transport-related logging.
33  */
34 
35 /** Callback for customized logging. */
36 typedef void (*pn_logger_t)(const char *message);
37 
38 /** Enable/disable global logging.
39  *
40  * By default, logging is enabled by envionment variable PN_TRACE_LOG.
41  * Calling this function overrides the environment setting.
42  */
43 PN_EXTERN void pn_log_enable(bool enabled);
44 
45 /** Set the logger.
46  *
47  * By default a logger that prints to stderr is installed.
48  *
49  * @param logger is called with each log messsage if logging is enabled.
50  * Passing 0 disables logging regardless of pn_log_enable() or environment settings.
51  */
53 
54 #ifdef __cplusplus
55 }
56 #endif
57 
58 #endif
PN_EXTERN void pn_log_logger(pn_logger_t logger)
Set the logger.
void(* pn_logger_t)(const char *message)
Callback for customized logging.
Definition: log.h:36
PN_EXTERN void pn_log_enable(bool enabled)
Enable/disable global logging.
#define PN_EXTERN
Definition: import_export.h:53