GUAC-911: Only log up to specified log level. Add comments to log.h.
This commit is contained in:
parent
049c366b78
commit
c3f98b388a
@ -392,7 +392,8 @@ int main(int argc, char* argv[]) {
|
|||||||
/* Set up logging prefix */
|
/* Set up logging prefix */
|
||||||
strncpy(log_prefix, basename(argv[0]), sizeof(log_prefix));
|
strncpy(log_prefix, basename(argv[0]), sizeof(log_prefix));
|
||||||
|
|
||||||
/* Open log as early as we can */
|
/* Init logging as early as possible */
|
||||||
|
log_level = config->max_log_level;
|
||||||
openlog("guacd", LOG_PID, LOG_DAEMON);
|
openlog("guacd", LOG_PID, LOG_DAEMON);
|
||||||
|
|
||||||
/* Log start */
|
/* Log start */
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "log.h"
|
||||||
|
|
||||||
#include <guacamole/client.h>
|
#include <guacamole/client.h>
|
||||||
#include <guacamole/error.h>
|
#include <guacamole/error.h>
|
||||||
@ -33,14 +34,21 @@
|
|||||||
/* Log prefix, defaulting to "guacd" */
|
/* Log prefix, defaulting to "guacd" */
|
||||||
char log_prefix[64] = "guacd";
|
char log_prefix[64] = "guacd";
|
||||||
|
|
||||||
|
int log_level = GUAC_LOG_INFO;
|
||||||
|
|
||||||
void vguacd_log(guac_client_log_level level, const char* format,
|
void vguacd_log(guac_client_log_level level, const char* format,
|
||||||
va_list args) {
|
va_list args) {
|
||||||
|
|
||||||
const char* priority_name;
|
const char* priority_name;
|
||||||
int priority;
|
int priority;
|
||||||
|
|
||||||
/* Copy log message into buffer */
|
|
||||||
char message[2048];
|
char message[2048];
|
||||||
|
|
||||||
|
/* Don't bother if the log level is too high */
|
||||||
|
if (level > log_level)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* Copy log message into buffer */
|
||||||
vsnprintf(message, sizeof(message), format, args);
|
vsnprintf(message, sizeof(message), format, args);
|
||||||
|
|
||||||
/* Convert log level to syslog priority */
|
/* Convert log level to syslog priority */
|
||||||
|
@ -28,14 +28,49 @@
|
|||||||
|
|
||||||
#include <guacamole/client.h>
|
#include <guacamole/client.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The maximum level at which to log messages. All other messages will be
|
||||||
|
* dropped.
|
||||||
|
*/
|
||||||
|
extern int log_level;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The string to prepend to all log messages.
|
||||||
|
*/
|
||||||
extern char log_prefix[64];
|
extern char log_prefix[64];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Writes a message to guacd's logs. This function takes a format and va_list,
|
||||||
|
* similar to vprintf.
|
||||||
|
*/
|
||||||
void vguacd_log(guac_client_log_level level, const char* format, va_list args);
|
void vguacd_log(guac_client_log_level level, const char* format, va_list args);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Writes a message to guacd's logs. This function accepts parameters
|
||||||
|
* identically to printf.
|
||||||
|
*/
|
||||||
void guacd_log(guac_client_log_level level, const char* format, ...);
|
void guacd_log(guac_client_log_level level, const char* format, ...);
|
||||||
|
|
||||||
void guacd_client_log(guac_client* client, guac_client_log_level level, const char* format, va_list args);
|
/**
|
||||||
|
* Writes a message using the logging facilities of the given client,
|
||||||
|
* automatically including any information present in guac_error. This function
|
||||||
|
* accepts parameters identically to printf.
|
||||||
|
*/
|
||||||
|
void guacd_client_log(guac_client* client, guac_client_log_level level,
|
||||||
|
const char* format, va_list args);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prints an error message to guacd's logs, automatically including any
|
||||||
|
* information present in guac_error. This function accepts parameters
|
||||||
|
* identically to printf.
|
||||||
|
*/
|
||||||
void guacd_log_guac_error(const char* message);
|
void guacd_log_guac_error(const char* message);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prints an error message using the logging facilities of the given client,
|
||||||
|
* automatically including any information present in guac_error. This function
|
||||||
|
* accepts parameters identically to printf.
|
||||||
|
*/
|
||||||
void guacd_client_log_guac_error(guac_client* client, const char* message);
|
void guacd_client_log_guac_error(guac_client* client, const char* message);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user