====== Logovanie ======
===== Zapnutie logovania inicializacia kariet - windows PC =====
Ale najlepsi sposob je vynechanie atributu LogType. Jeho defaultna hodnota ma pozapinane vsetky potrebne logy. Ak netreba specifikovat ostatne atributy, je mozne vynechat cely riadok Logs.
===== Zapnutie logovania na citacke =====
Logovaci subor
/tmp/ESlave.log
Logovanie je mozne zapnut v skripte autorun_slave na ceste
/opt/emtest/bin/autorun_slave
A riadok FLAGS upravit:
FLAGS=' --logOn'
Po ulozeni zmien je potrebne vykonat restart, ALEBO rucne na zariadeni stopnut a zapnut aplikaciu prikazom:
/opt/emtest/etc/init.d/slave_auto stop
/opt/emtest/etc/init.d/slave_auto start
===== Zapnutie logovania na palubnom pocitaci =====
Logovaci subor
/tmp/hlavny.log
* Hodnota 0/1 - zapnute/vypnute logy - novy sposob, beru sa do uvahy atributy nodu LogType. Logovanie error-ov je defaultne vzdy zapnute a nie je mozne error-y vypnut. \\
* LogType hodnota > 1 (resp. 4294967295) - stare bitove zapinanie typov logovania, ktore nefunguje spravne a je neuser friendly
Plne logovanie sa zapne:
1
Defaultne logovanie v balikoch je nastavene na logovanie errorov a warningov nasledovne:
1
Stary sposob zapinania logov vsetko alebo nic:
4294967295
===== Zapnutie logovania na SelfServiceValidator (OCL) =====
Logovaci subor
/tmp/validator.log
Logovanie nie je mozne vypnut, loguje sa stale!
===== Nastavenie logovania v zdrojovych suboroch =====
V triede, v ktorej chceme používať logovanie je potrebné napísať:
#define __USE_LOG__
#include "emlog.h"
V programe na výpis logu slúžia najčastejšie príkazy: ETRACE, EINFO, EERROR, EWARN, EDUMPB
EINFO("text"); //výpis infa
ETRACE("text"); //výpis infa, ktory sluzi vyvojarom - pouzivat len pre ladenie
EERROR("text"); //výpis error-ov
EWARN("text"); //výpis warning-ov
EDUMPB(data,size,msg) //výpis surových dát
ETRACE je v podstate printf do logovacieho suboru.
Ostatné sa dajú pozrieť v súbore emlog.h
Súbor s logom sa nachádza na ceste /tmp/hlavny.log
Ak ho chceme priebežne vypisovať
tail -f /tmp hlavny.log
// LOG options&levels
// levels plati aj pre esyslog aj fsyslog
#define L_ERR 0x00000001
#define L_WARN 0x00000002
#define L_TRACE 0x00000004
#define L_INFO 0x00000008
#define L_DUMP 0x00000010
#define L_TIMER 0x00000020
// options - esyslog aj fsyslog
#define L_PID 0x00010000 // loguje sa PID
#define L_SRCLINE 0x00020000 // loguje sa cislo riadku a nazov suboru zdrojoveho kodu, odkial bol log vyvolany
#define L_FUNCTION 0x00040000
#define L_HEAD 0x00080000 // loguje sa hlavicka, zadana uzivatelom
// options - fsyslog
#define L_TIME 0x00100000 // loguje sa cas
// options - esyslog
#define L_CONS 0x00200000 // ak sa nepodari otvorit syslog, tak loguje na stdout
#define L_PERR 0x00400000 // ak sa da loguje aj na stderr
// preddefined options
#define L_ALL 0xFFFFFFFF // vsetky options su zapnute
#define L_DEBUG (L_ERR | L_WARN | L_TRACE | L_INFO | L_DUMP | L_PID | L_HEAD | L_TIME)
#define L_RELEASE (L_ERR | L_WARN | L_INFO | L_PID | L_HEAD | L_TIME)
#define L_VERBOSE_DEBUG (L_ERR | L_WARN | L_TRACE | L_DUMP | L_INFO | L_PID | L_HEAD | L_TIME | L_SRCLINE | L_FUNCTION)