Table of Contents

Logovanie

Zapnutie logovania inicializacia kariet - windows PC

<Logs LogType ="0xFFFFFFFF" LogPath="../log/servicept.log" LogCount="200" LogLimitSize="1000000" > </Logs>

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

Plne logovanie sa zapne:

<LogType warning="1" info="1" trace="1">1</LogType>

Defaultne logovanie v balikoch je nastavene na logovanie errorov a warningov nasledovne:

<LogType warning="1" info="0" trace="0">1</LogType>

Stary sposob zapinania logov vsetko alebo nic:

<LogType>4294967295</LogType> 

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)