Example #1
0
void *LoggerPlugin::processEvent(Event *e)
{
    if (e->type() == EventLog){
        LogInfo *li = (LogInfo*)e->param();
        if (((li->packet_id == 0) && (li->log_level & getLogLevel())) ||
                (li->packet_id && ((getLogLevel() & L_PACKETS) || isLogType(li->packet_id)))){
            string s;
            s = make_packet_string(li);
            if (m_file){
#ifdef WIN32
                s += "\r\n";
#else
                s += "\n";
#endif
                m_file->writeBlock(s.c_str(), s.length());
            }
#ifdef QT_DLL
            for (char *p = (char*)(s.c_str()); *p; ){
                char *r = strchr(p, '\n');
                if (r) *r = 0;
                if (strlen(p) > 256){
                    string s = p;
                    while (!s.empty()){
                        string l;
                        if (s.length() < 256){
                            l = s;
                            s = "";
                        }else{
                            l = s.substr(0, 256);
                            s = s.substr(256);
                        }
                        qWarning("%s", l.c_str());
                    }
                }else{
                    qWarning("%s", p);
                }
                if (r == NULL) break;
                p = r + 1;
            }
#else
            fprintf(stderr, "%s", s.c_str());
            fprintf(stderr, "\n");
#endif
        }
    }
    return NULL;
}
Example #2
0
void *LoggerPlugin::processEvent(Event *e)
{
    if (e->type() == EventLog) {
        LogInfo *li = (LogInfo*)e->param();
        if (((li->packet_id == 0) && (li->log_level & getLogLevel())) ||
                (li->packet_id && isLogType(li->packet_id))) {
            string s;
            s = make_packet_string(li);
#ifdef QT_DLL
            for (char *p = (char*)(s.c_str()); *p; ) {
                char *r = strchr(p, '\n');
                if (r) *r = 0;
                qWarning("%s", p);
                if (r == NULL) break;
                p = r + 1;
            }
#else
            fprintf(stderr, "%s", s.c_str());
            fprintf(stderr, "\n");
#endif
        }
    }
    return NULL;
}