1c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh/* 2c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh * Copyright 2008 Google Inc. All Rights Reserved. 3c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh * 4c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh * Author: md@google.com (Michael Davidson) 5c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh */ 6c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh 7c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh#ifndef LOGGING_H_ 8c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh#define LOGGING_H_ 9c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh 10c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmblighenum msg_type { 11c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh MSG_DEBUG, 12c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh MSG_INFO, 13c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh MSG_WARN, 14c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh MSG_ERROR, 15c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh MSG_FATAL, 16c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh}; 17c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh 18c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmblighvoid msg(enum msg_type, int data, const char *fmt, ...); 19c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh 20c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh#define DEBUG(level, fmt, args...) msg(MSG_DEBUG, level, fmt, ##args) 21c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh#define INFO(fmt, args...) msg(MSG_INFO, 0, fmt, ##args) 22c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh#define WARN(err, fmt, args...) msg(MSG_WARN, err, fmt, ##args) 23c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh#define ERROR(err, fmt, args...) msg(MSG_ERROR, err, fmt, ##args) 24c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh#define FATAL(err, fmt, args...) msg(MSG_FATAL, err, fmt, ##args) 25c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh 26c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmblighextern void set_program_name(const char *name); 27c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmblighextern void set_debug_level(int level); 28c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmblighextern void set_log_file(FILE *fp); 29c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh 30c2e8280a4f1bf8a586946b7ee4f63ae817f8c74dmbligh#endif /* LOGGING_H_ */ 31