1175
* Gets log level for a line (using its tags).
1175
* Gets info with tags of line: log level and if prefix is a nick.
1179
logger_line_log_level (int tags_count, const char **tags)
1179
logger_get_line_tag_info (int tags_count, const char **tags,
1180
int *log_level, int *prefix_is_nick)
1182
int i, log_level_set, prefix_is_nick_set;
1185
*log_level = LOGGER_LEVEL_DEFAULT;
1187
*prefix_is_nick = 0;
1190
prefix_is_nick_set = 0;
1183
1192
for (i = 0; i < tags_count; i++)
1185
/* log disabled on line? return -1 */
1186
if (strcmp (tags[i], "no_log") == 0)
1189
/* log level for line? return it */
1190
if (strncmp (tags[i], "log", 3) == 0)
1192
if (isdigit ((unsigned char)tags[i][3]))
1194
return (tags[i][3] - '0');
1194
if (log_level && !log_level_set)
1196
if (strcmp (tags[i], "no_log") == 0)
1198
/* log disabled on line: set level to -1 */
1202
else if (strncmp (tags[i], "log", 3) == 0)
1204
/* set log level for line */
1205
if (isdigit ((unsigned char)tags[i][3]))
1207
*log_level = (tags[i][3] - '0');
1212
if (prefix_is_nick && !prefix_is_nick_set)
1214
if (strncmp (tags[i], "prefix_nick", 11) == 0)
1216
*prefix_is_nick = 1;
1217
prefix_is_nick_set = 1;
1199
/* return default log level for line */
1200
return LOGGER_LEVEL_DEFAULT;
1213
1233
struct t_logger_buffer *ptr_logger_buffer;
1214
1234
struct tm *date_tmp;
1215
1235
char buf_time[256];
1236
int line_log_level, prefix_is_nick;
1218
1238
/* make C compiler happy */
1220
1240
(void) displayed;
1221
1241
(void) highlight;
1223
line_log_level = logger_line_log_level (tags_count, tags);
1243
logger_get_line_tag_info (tags_count, tags, &line_log_level,
1224
1245
if (line_log_level >= 0)
1226
1247
ptr_logger_buffer = logger_buffer_search_buffer (buffer);
1241
1262
logger_write_line (ptr_logger_buffer,
1265
(prefix && prefix_is_nick) ? weechat_config_string (logger_config_file_nick_prefix) : "",
1244
1266
(prefix) ? prefix : "",
1267
(prefix && prefix_is_nick) ? weechat_config_string (logger_config_file_nick_suffix) : "",