| [Date Prev] [Date Next] | [Thread Prev] [Thread Next] | [Date Index] [Thread Index] |
[snips-users] x outside of string at /usr/local/etc/nocol/bin/nocollib.pl line 209.
|
Hi,
Trying to write my own program to send its logging to nocol.
RANDOMLY its exiting with :
x outside of string at /usr/local/etc/nocol/bin/nocollib.pl line 209.
When I write the event, I'm doing :
sub slogevent {
my ($pdatafile,$pmachine,$psiteip,$psender,$pdbfile,$plevel)= at _;
open(OEVENTS, ">> $pdatafile") || die("Error opening file : $pdatafile\n");
&init_event($pmachine,$psiteip,$psender);
$varname{$psender}=$pdbfile;
$severity{$psender}=$loglevel{$psender}=$plevel;
$nocop{$psender}=$n_DOWN;
&writeevent(OEVENTS,$psender);
&eventlog(&packevent($psender));
} # end of function slogevent()
passing it :
name of the datafile (~nocol/data/webmonitor-output")
machine name (XXXXX.ttsg.com)
site ip (Put in here a small message)
sender (webmonitor)
dbfile (A variable name)
level (level of the problem)
Every time the program runs, it basically deletes all the entries
it has for the dbfile :
sub expire_datafile_events {
local($i) = $sender;
if (! -e "$datafile") {return;} # if no file then return
# for reading the NOCOL datafile
open(IEVENTS, "< $datafile") || die("Error opening file : $datafile");
# dont overwrite the NOCOL datafile
open(OEVENTS, "+< $datafile") || die("Error opening file : $datafile");
seek(OEVENTS, 0, 0) || die("Could not seek\n"); # seek to beginning of file
# read each event structure from the NOCOL datafile
while ( &readevent(IEVENTS, $i)) # readevent returns no of bytes read
{
local($item) = $varname{$i};
# if event expired then dont write it back.
if ($item =~ /^$cdbfile$/) {
if ($debug > 2) {
print STDERR "(expire_ev) Expiring Variable: \'$item\'\n";
}
next;
}
&writeevent(OEVENTS, $i); # write the event back.
}
close(IEVENTS); # input stream
truncate(OEVENTS, tell(OEVENTS)); # truncate file if some events expired
close(OEVENTS); # output stream
} # end of function expire_datafile_events()
But for some reason I'm getting the :
x outside of string at /usr/local/etc/nocol/bin/nocollib.pl line 209.
Any concepts on what my problem (/dev/null personal attacks. ;) )
is?
Thanks, Tuc/TTSG Internet Services, Inc.
|