comparison mcabber/src/hooks.c @ 374:bd5638c21834

Improve logging system (traces) There are now two trace logging levels: * tracelog_level = 1: Most messages from the log window are written to disk (LPRINT_LOG) * tracelog_level =2: LPRINT_LOG & LPRINT_DEBUG messages are written to disk The trace file name is set with the "tracelog_file" option.
author Mikael Berthe <mikael@lilotux.net>
date Mon, 25 Jul 2005 21:46:35 +0100
parents 33b8e801ffa6
children 2e6c7b1440d1
comparison
equal deleted inserted replaced
373:af2f8ddf6a1b 374:bd5638c21834
43 new_guy = TRUE; 43 new_guy = TRUE;
44 } 44 }
45 45
46 if (type && !strcmp(type, "error")) { 46 if (type && !strcmp(type, "error")) {
47 message_flags = HBB_PREFIX_ERR | HBB_PREFIX_IN; 47 message_flags = HBB_PREFIX_ERR | HBB_PREFIX_IN;
48 scr_LogPrint("Error message received from <%s>", jid); 48 scr_LogPrint(LPRINT_LOGNORM, "Error message received from <%s>", jid);
49 } else 49 } else
50 message_flags = 0; 50 message_flags = 0;
51 51
52 // Note: the hlog_write should not be called first, because in some 52 // Note: the hlog_write should not be called first, because in some
53 // cases scr_WriteIncomingMessage() will load the history and we'd 53 // cases scr_WriteIncomingMessage() will load the history and we'd
77 } 77 }
78 78
79 inline void hk_statuschange(const char *jid, time_t timestamp, 79 inline void hk_statuschange(const char *jid, time_t timestamp,
80 enum imstatus status, const char *status_msg) 80 enum imstatus status, const char *status_msg)
81 { 81 {
82 scr_LogPrint("Buddy status has changed: [%c>%c] <%s> %s", 82 scr_LogPrint(LPRINT_LOGNORM, "Buddy status has changed: [%c>%c] <%s> %s",
83 imstatus2char[roster_getstatus(jid)], imstatus2char[status], jid, 83 imstatus2char[roster_getstatus(jid)], imstatus2char[status], jid,
84 ((status_msg) ? status_msg : "")); 84 ((status_msg) ? status_msg : ""));
85 roster_setstatus(jid, status, status_msg); 85 roster_setstatus(jid, status, status_msg);
86 buddylist_build(); 86 buddylist_build();
87 scr_DrawRoster(); 87 scr_DrawRoster();
94 enum imstatus old_status, enum imstatus new_status, const char *msg) 94 enum imstatus old_status, enum imstatus new_status, const char *msg)
95 { 95 {
96 if (!msg && (old_status == new_status)) 96 if (!msg && (old_status == new_status))
97 return; 97 return;
98 98
99 scr_LogPrint("Your status has changed: [%c>%c] %s", 99 scr_LogPrint(LPRINT_LOGNORM, "Your status has changed: [%c>%c] %s",
100 imstatus2char[old_status], imstatus2char[new_status], 100 imstatus2char[old_status], imstatus2char[new_status],
101 ((msg) ? msg : "")); 101 ((msg) ? msg : ""));
102 //hlog_write_status(NULL, 0, status); 102 //hlog_write_status(NULL, 0, status);
103 } 103 }
104 104
154 } 154 }
155 155
156 if (!arg_type || !arg_info) return; 156 if (!arg_type || !arg_info) return;
157 157
158 if ((pid=fork()) == -1) { 158 if ((pid=fork()) == -1) {
159 scr_LogPrint("Fork error, cannot launch external command."); 159 scr_LogPrint(LPRINT_LOGNORM, "Fork error, cannot launch external command.");
160 return; 160 return;
161 } 161 }
162 162
163 if (pid == 0) { // child 163 if (pid == 0) { // child
164 if (execl(extcmd, extcmd, arg_type, arg_info, jid, arg_data) == -1) { 164 if (execl(extcmd, extcmd, arg_type, arg_info, jid, arg_data) == -1) {
165 // ut_WriteLog("Cannot execute external command.\n"); 165 // scr_LogPrint(LPRINT_LOGNORM, "Cannot execute external command.");
166 exit(1); 166 exit(1);
167 } 167 }
168 } 168 }
169 } 169 }
170 170