Improve debug logging quite a bit

This commit is contained in:
Andreas Öman 2009-10-09 20:26:17 +00:00
parent 480eca20fc
commit af53c5f812
10 changed files with 43 additions and 69 deletions

View file

@ -541,6 +541,16 @@ cwc_running_reply(cwc_t *cwc, uint8_t msgtype, uint8_t *msg, int len)
return 0;
}
tvhlog(LOG_DEBUG, "cwc",
"Received ECM reply for srevice \"%s\" "
"even: %02x.%02x.%02x.%02x.%02x.%02x.%02x.%02x"
" odd: %02x.%02x.%02x.%02x.%02x.%02x.%02x.%02x ",
t->tht_svcname,
msg[3 + 0], msg[3 + 1], msg[3 + 2], msg[3 + 3], msg[3 + 4],
msg[3 + 5], msg[3 + 6], msg[3 + 7], msg[3 + 8], msg[3 + 9],
msg[3 + 10],msg[3 + 11],msg[3 + 12],msg[3 + 13],msg[3 + 14],
msg[3 + 15]);
if(ct->ct_keystate != CT_RESOLVED)
tvhlog(LOG_INFO, "cwc",
"Obtained key for for service \"%s\"",t->tht_svcname);
@ -548,7 +558,6 @@ cwc_running_reply(cwc_t *cwc, uint8_t msgtype, uint8_t *msg, int len)
ct->ct_keystate = CT_RESOLVED;
pthread_mutex_lock(&t->tht_stream_mutex);
for(j = 0; j < 8; j++)
if(msg[3 + j]) {
set_even_control_word(ct->ct_keys, msg + 3);
@ -903,6 +912,8 @@ cwc_table_input(struct th_descrambler *td, struct th_transport *t,
break;
}
tvhlog(LOG_DEBUG, "cwc", "Sending ECM for service %s", t->tht_svcname);
memcpy(ct->ct_ecm, data, len);
ct->ct_ecmsize = len;
ct->ct_seq = cwc_send_msg(cwc, data, len, sid);

View file

@ -164,7 +164,6 @@ typedef struct th_dvb_adapter {
char *tda_identifier;
uint32_t tda_autodiscovery;
uint32_t tda_idlescan;
uint32_t tda_logging;
uint32_t tda_diseqc_version;
char *tda_displayname;
@ -213,8 +212,6 @@ void dvb_adapter_set_auto_discovery(th_dvb_adapter_t *tda, int on);
void dvb_adapter_set_idlescan(th_dvb_adapter_t *tda, int on);
void dvb_adapter_set_logging(th_dvb_adapter_t *tda, int on);
void dvb_adapter_set_diseqc_version(th_dvb_adapter_t *tda, unsigned int v);
void dvb_adapter_clone(th_dvb_adapter_t *dst, th_dvb_adapter_t *src);

View file

@ -78,7 +78,6 @@ tda_save(th_dvb_adapter_t *tda)
htsmsg_add_str(m, "displayname", tda->tda_displayname);
htsmsg_add_u32(m, "autodiscovery", tda->tda_autodiscovery);
htsmsg_add_u32(m, "idlescan", tda->tda_idlescan);
htsmsg_add_u32(m, "logging", tda->tda_logging);
htsmsg_add_u32(m, "diseqc_version", tda->tda_diseqc_version);
hts_settings_save(m, "dvbadapters/%s", tda->tda_identifier);
htsmsg_destroy(m);
@ -146,25 +145,6 @@ dvb_adapter_set_idlescan(th_dvb_adapter_t *tda, int on)
}
/**
*
*/
void
dvb_adapter_set_logging(th_dvb_adapter_t *tda, int on)
{
if(tda->tda_logging == on)
return;
lock_assert(&global_lock);
tvhlog(LOG_NOTICE, "dvb", "Adapter \"%s\" detailed logging set to: %s",
tda->tda_displayname, on ? "On" : "Off");
tda->tda_logging = on;
tda_save(tda);
}
/**
*
*/
@ -319,7 +299,6 @@ dvb_adapter_init(uint32_t adapter_mask)
htsmsg_get_u32(c, "autodiscovery", &tda->tda_autodiscovery);
htsmsg_get_u32(c, "idlescan", &tda->tda_idlescan);
htsmsg_get_u32(c, "logging", &tda->tda_logging);
htsmsg_get_u32(c, "diseqc_version", &tda->tda_diseqc_version);
}
htsmsg_destroy(l);

View file

@ -115,12 +115,10 @@ dvb_fe_monitor(void *aux)
if(status != tdmi->tdmi_fe_status) {
tdmi->tdmi_fe_status = status;
if(tda->tda_logging) {
dvb_mux_nicename(buf, sizeof(buf), tdmi);
tvhlog(LOG_INFO,
"dvb", "\"%s\" on adapter \"%s\", status changed to %s",
buf, tda->tda_displayname, dvb_mux_status(tdmi));
}
dvb_mux_nicename(buf, sizeof(buf), tdmi);
tvhlog(LOG_DEBUG,
"dvb", "\"%s\" on adapter \"%s\", status changed to %s",
buf, tda->tda_displayname, dvb_mux_status(tdmi));
update = 1;
}
@ -267,14 +265,13 @@ dvb_fe_tune_s2(th_dvb_mux_instance_t *tdmi, dvb_mux_conf_t *dmc, const char *nam
break;
}
if(tda->tda_logging)
tvhlog(LOG_INFO,
"dvb",
"tuning via s2api to %s, freq %d, symbolrate %d, "
"fec %d, sys %d, mod %d",
name, p->frequency, p->u.qpsk.symbol_rate, p->u.qpsk.fec_inner,
dmc->dmc_fe_delsys,
dmc->dmc_fe_modulation);
tvhlog(LOG_DEBUG,
"dvb",
"tuning via s2api to %s, freq %d, symbolrate %d, "
"fec %d, sys %d, mod %d",
name, p->frequency, p->u.qpsk.symbol_rate, p->u.qpsk.fec_inner,
dmc->dmc_fe_delsys,
dmc->dmc_fe_modulation);
r = ioctl(tda->tda_fe_fd, FE_SET_PROPERTY, &_dvbs_cmdseq);
if(0)
@ -354,10 +351,9 @@ dvb_fe_tune(th_dvb_mux_instance_t *tdmi, const char *reason)
tda->tda_fe_monitor_hold = 4;
if(tda->tda_logging)
tvhlog(LOG_INFO,
"dvb", "\"%s\" tuning to \"%s\" (%s)", tda->tda_rootpath, buf,
reason);
tvhlog(LOG_DEBUG,
"dvb", "\"%s\" tuning to \"%s\" (%s)", tda->tda_rootpath, buf,
reason);
#if DVB_API_VERSION >= 5
if (tda->tda_type == FE_QPSK)

View file

@ -177,9 +177,8 @@ dvb_mux_create(th_dvb_adapter_t *tda, const struct dvb_mux_conf *dmc,
dvb_mux_save(tdmi);
dvb_mux_nicename(buf, sizeof(buf), tdmi);
if(tda->tda_logging)
tvhlog(LOG_INFO, "dvb",
"Configuration for mux \"%s\" updated by %s", buf, source);
tvhlog(LOG_DEBUG, "dvb",
"Configuration for mux \"%s\" updated by %s", buf, source);
dvb_mux_notify(tdmi);
return NULL;
}

View file

@ -123,11 +123,9 @@ dvb_table_fastswitch(th_dvb_mux_instance_t *tdmi)
tda->tda_initial_num_mux--;
if(tda->tda_logging) {
dvb_mux_nicename(buf, sizeof(buf), tdmi);
tvhlog(LOG_INFO, "dvb", "\"%s\" initial scan completed for \"%s\"",
tda->tda_rootpath, buf);
}
dvb_mux_nicename(buf, sizeof(buf), tdmi);
tvhlog(LOG_DEBUG, "dvb", "\"%s\" initial scan completed for \"%s\"",
tda->tda_rootpath, buf);
dvb_adapter_mux_scanner(tda);
}

View file

@ -352,8 +352,7 @@ dvb_transport_find(th_dvb_mux_instance_t *tdmi, uint16_t sid, int pmt_pid,
}
dvb_mux_nicename(buf, sizeof(buf), tdmi);
if(tdmi->tdmi_adapter->tda_logging)
tvhlog(LOG_INFO, "dvb", "Add service \"%s\" on \"%s\"", identifier, buf);
tvhlog(LOG_DEBUG, "dvb", "Add service \"%s\" on \"%s\"", identifier, buf);
t = transport_create(identifier, TRANSPORT_DVB, THT_MPEG_TS);

View file

@ -67,7 +67,11 @@ pthread_mutex_t global_lock;
pthread_mutex_t ffmpeg_lock;
static int log_stderr;
static int log_decorate;
int log_debug;
int log_debug_to_syslog;
int log_debug_to_comet;
int log_debug_to_console;
static void
handle_sigpipe(int x)
@ -273,7 +277,7 @@ main(int argc, char **argv)
contentpath = optarg;
break;
case 'd':
log_debug = 1;
log_debug_to_console = 1;
break;
case 'C':
createdefault = 1;
@ -435,8 +439,6 @@ static const char *logtxtmeta[8][2] = {
{"DEBUG", "\033[32m"},
};
/**
* Internal log function
*/
@ -455,12 +457,13 @@ tvhlogv(int notify, int severity, const char *subsys, const char *fmt,
vsnprintf(buf + l, sizeof(buf) - l, fmt, ap);
syslog(severity, "%s", buf);
if(log_debug_to_syslog || severity < LOG_DEBUG)
syslog(severity, "%s", buf);
/**
* Send notification to Comet (Push interface to web-clients)
*/
if(notify) {
if(notify && (log_debug_to_comet || severity < LOG_DEBUG)) {
htsmsg_t *m;
time(&now);
@ -479,7 +482,7 @@ tvhlogv(int notify, int severity, const char *subsys, const char *fmt,
* Write to stderr
*/
if(log_stderr) {
if(log_stderr && (log_debug_to_console || severity < LOG_DEBUG)) {
const char *leveltxt = logtxtmeta[severity][0];
const char *sgr = logtxtmeta[severity][1];
const char *sgroff;

View file

@ -992,7 +992,6 @@ extjs_dvbadapter(http_connection_t *hc, const char *remain, void *opaque)
htsmsg_add_str(r, "name", tda->tda_displayname);
htsmsg_add_u32(r, "automux", tda->tda_autodiscovery);
htsmsg_add_u32(r, "idlescan", tda->tda_idlescan);
htsmsg_add_u32(r, "logging", tda->tda_logging);
htsmsg_add_str(r, "diseqcversion",
((const char *[]){"DiSEqC 1.0 / 2.0",
"DiSEqC 1.1 / 2.1"})
@ -1010,9 +1009,6 @@ extjs_dvbadapter(http_connection_t *hc, const char *remain, void *opaque)
s = http_arg_get(&hc->hc_req_args, "idlescan");
dvb_adapter_set_idlescan(tda, !!s);
s = http_arg_get(&hc->hc_req_args, "logging");
dvb_adapter_set_logging(tda, !!s);
if((s = http_arg_get(&hc->hc_req_args, "diseqcversion")) != NULL) {
if(!strcmp(s, "DiSEqC 1.0 / 2.0"))
dvb_adapter_set_diseqc_version(tda, 0);

View file

@ -961,7 +961,7 @@ tvheadend.dvb_adapter_general = function(adapterData, satConfStore) {
var confreader = new Ext.data.JsonReader({
root: 'dvbadapters'
}, ['name', 'automux', 'idlescan', 'logging', 'diseqcversion']);
}, ['name', 'automux', 'idlescan', 'diseqcversion']);
function saveConfForm () {
@ -985,10 +985,6 @@ tvheadend.dvb_adapter_general = function(adapterData, satConfStore) {
new Ext.form.Checkbox({
fieldLabel: 'Idle scanning',
name: 'idlescan'
}),
new Ext.form.Checkbox({
fieldLabel: 'Detailed logging',
name: 'logging'
})
];