chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Support global prefs through eclient interface.
[disorder]
/
lib
/
log.c
diff --git
a/lib/log.c
b/lib/log.c
index 3f57073a1ef6bb2834c0f7b830c7f46df817a894..82ba3772066e4ca6bfd437b89cfd114c658e4278 100644
(file)
--- a/
lib/log.c
+++ b/
lib/log.c
@@
-17,17
+17,18
@@
*/
/** @file lib/log.c @brief Errors and logging
*
*/
/** @file lib/log.c @brief Errors and logging
*
- * All messages are initially emitted by one of the four functions
below.
- *
debug() is generally invoked via D() so that mostly you just do a tes
t
- * rather than a complete subroutine call.
+ * All messages are initially emitted by one of the four functions
+ *
below. disorder_debug() is generally invoked via D() so tha
t
+ *
mostly you just do a test
rather than a complete subroutine call.
*
* Messages are dispatched via @ref log_default. This defaults to @ref
* log_stderr. daemonize() will turn off @ref log_stderr and use @ref
* log_syslog instead.
*
*
* Messages are dispatched via @ref log_default. This defaults to @ref
* log_stderr. daemonize() will turn off @ref log_stderr and use @ref
* log_syslog instead.
*
- * fatal() will call exitfn() with a nonzero status. The default value is
- * exit(), but it should be set to _exit() anywhere but the 'main line' of the
- * program, to guarantee that exit() gets called at most once.
+ * disorder_fatal() will call exitfn() with a nonzero status. The
+ * default value is exit(), but it should be set to _exit() anywhere
+ * but the 'main line' of the program, to guarantee that exit() gets
+ * called at most once.
*/
#define NO_MEMORY_ALLOCATION
*/
#define NO_MEMORY_ALLOCATION
@@
-38,6
+39,7
@@
#include <errno.h>
#include <syslog.h>
#include <sys/time.h>
#include <errno.h>
#include <syslog.h>
#include <sys/time.h>
+#include <time.h>
#include "log.h"
#include "disorder.h"
#include "log.h"
#include "disorder.h"
@@
-66,6
+68,9
@@
const char *progname;
/** @brief Filename for debug messages */
const char *debug_filename;
/** @brief Filename for debug messages */
const char *debug_filename;
+/** @brief Set to include timestamps in log messages */
+int logdate;
+
/** @brief Line number for debug messages */
int debug_lineno;
/** @brief Line number for debug messages */
int debug_lineno;
@@
-119,7
+124,15
@@
static void logfp(int pri, const char *msg, void *user) {
* sanely */
const char *p;
* sanely */
const char *p;
- if(progname)
+ if(logdate) {
+ char timebuf[64];
+ struct tm *tm;
+ gettimeofday(&tv, 0);
+ tm = localtime(&tv.tv_sec);
+ strftime(timebuf, sizeof timebuf, "%Y-%m-%d %H:%M:%S %Z", tm);
+ fprintf(fp, "%s: ", timebuf);
+ }
+ if(progname)
fprintf(fp, "%s: ", progname);
if(pri <= LOG_ERR)
fputs("ERROR: ", fp);
fprintf(fp, "%s: ", progname);
if(pri <= LOG_ERR)
fputs("ERROR: ", fp);