.ral:cr - 28 Februarie 2010 09:26 PM
Mda, functioneaza, doar ca devine si mai greu de citit, iti trebuie monitor sanatos dar tot nu e de ajuns. Ceva de genu asta ma interesa:
Din pacate sistemul pe care-l descrii tu nu e folosibil la nivel de sistem.
Nu poti spune ce aplicatie a generat mesajul, din ce thread a facut-o si la ce moment de timp, ca atare facilitatile de logging construite in sistem nu te lasa sa faci asa ceva.
Daca vrei un sistem de logging propriu il poti face singur scriind in ce format ai nevoie:
#include <stdio.h>
#define BSLog(s, ...) fprintf(stderr, "%s:%d : " s, __FILE__, __LINE__, __VA_ARGS__)
int main()
{
BSLog("Ana are %d mere\n", 15);
}
Totusi, iti recomand sa folosesti functiile de logging de sistem - pe termen lung vei avea de castigat.
Ca varianta la NSLog, poti folosi asl, care iti permite de exemplu sa folosesti un fisier de logging propriu pe care il poti filtra la afisare sa arate cum vrei tu:
#include <stdio.h>
#include <asl.h>
int main()
{
aslclient c = asl_open(NULL, "F", ASL_OPT_STDERR);
asl_log(c, NULL, ASL_LEVEL_NOTICE, "%s:%d Ana are mere", __FILE__, __LINE__);
asl_close(c);
}
Pentru afisare fara timestamp, PID si thread id:
cristi:~ diciu$ tail -f /var/log/system.log | awk -F']:' '{print $2}'
test.c:7 Ana are mere