/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2008 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
*/
const char *working_directory = NULL; /* working directory path stored here */
int verbose = 0; /* increase User messages */
-int debug_level = 1; /* debug level */
+int debug_level = 0; /* debug level */
+bool dbg_timestamp = false; /* print timestamp in debug output */
time_t daemon_start_time = 0; /* Daemon start time */
const char *version = VERSION " (" BDATE ")";
char my_name[30]; /* daemon name is stored here */
int len;
va_list arg_ptr;
bool details = true;
+ time_t mtime;
if (level < 0) {
details = false;
}
if (level <= debug_level) {
+ if (dbg_timestamp) {
+ mtime = time(NULL);
+ bstrftimes(buf, sizeof(buf), mtime);
+ len = strlen(buf);
+ buf[len++] = ' ';
+ buf[len] = 0;
+ fputs(buf, stdout);
+ }
+
#ifdef FULL_LOCATION
if (details) {
len = bsnprintf(buf, sizeof(buf), "%s: %s:%d-%u ",
va_list arg_ptr;
int len;
MSGS *msgs;
- const char *job;
+ uint32_t JobId = 0;
Dmsg1(850, "Enter Jmsg type=%d\n", type);
}
msgs = NULL;
- job = NULL;
if (!jcr) {
jcr = get_jcr_from_tsd();
}
if (jcr) {
msgs = jcr->jcr_msgs;
- job = jcr->Job;
+ JobId = jcr->JobId;
}
if (!msgs) {
msgs = daemon_msgs; /* if no jcr, we use daemon handler */
}
- if (!job) {
- job = ""; /* Set null job name if none */
- }
/*
* Check if we have a message destination defined.
len = bsnprintf(rbuf, sizeof(rbuf), _("%s ERROR TERMINATION\n"), my_name);
break;
case M_FATAL:
- len = bsnprintf(rbuf, sizeof(rbuf), _("%s: %s Fatal error: "), my_name, job);
+ len = bsnprintf(rbuf, sizeof(rbuf), _("%s JobId %u: Fatal error: "), my_name, JobId);
if (jcr) {
set_jcr_job_status(jcr, JS_FatalError);
}
break;
case M_ERROR:
- len = bsnprintf(rbuf, sizeof(rbuf), _("%s: %s Error: "), my_name, job);
+ len = bsnprintf(rbuf, sizeof(rbuf), _("%s JobId %u: Error: "), my_name, JobId);
if (jcr) {
jcr->Errors++;
}
break;
case M_WARNING:
- len = bsnprintf(rbuf, sizeof(rbuf), _("%s: %s Warning: "), my_name, job);
+ len = bsnprintf(rbuf, sizeof(rbuf), _("%s JobId %u: Warning: "), my_name, JobId);
break;
case M_SECURITY:
- len = bsnprintf(rbuf, sizeof(rbuf), _("%s: %s Security violation: "), my_name, job);
+ len = bsnprintf(rbuf, sizeof(rbuf), _("%s JobId %u: Security violation: "),
+ my_name, JobId);
break;
default:
- len = bsnprintf(rbuf, sizeof(rbuf), "%s: ", my_name);
+ len = bsnprintf(rbuf, sizeof(rbuf), "%s JobId %u: ", my_name, JobId);
break;
}
jcr = get_jcr_from_tsd();
}
/* If no jcr or dequeuing send to daemon to avoid recursion */
- if (!jcr || jcr->dequeuing) {
+ if ((jcr && !jcr->msg_queue) || !jcr || jcr->dequeuing) {
/* jcr==NULL => daemon message, safe to send now */
Jmsg(jcr, item->type, item->mtime, "%s", item->msg);
free(item);