Annotation of wpscripts/ztransfer/log.pm, Revision 1.3
1.1 yason 1: #!/usr/bin/perl
1.3 ! yason 2: # $Id: log.pm,v 1.2 2011/07/20 07:44:51 yason Exp $
1.1 yason 3: package log;
4:
5: my $DEBUG = 1;
6:
1.2 yason 7: my $MAIN_LOG = "/var/log/wpscripts/ztransfer/main.log";
8: my $ERROR_LOG = "/var/log/wpscripts/ztransfer/error.log";
9: my $ZAYAVKI_LOG = "/var/log/wpscripts/ztransfer/zayavki.log";
10: my $JPEGS_LOG = "/var/log/wpscripts/ztransfer/jpegs.log";
11: my $PROBAS_LOG = "/var/log/wpscripts/ztransfer/probas.log";
12: my $TPPS_LOG = "/var/log/wpscripts/ztransfer/tpps.log";
13: my $CRITICAL_LOG = "/var/log/wpscripts/ztransfer/critical.log";
14: my $FILE_LIST = "/var/log/wpscripts/ztransfer/FILES";
15: my $DIFFS_FILE = "/var/log/wpscripts/ztransfer/size_diffs.log";
16: my $CURRENT_FILE = "/var/log/wpscripts/ztransfer/FILE";
17: my $CURRENT_ACTION = "/var/log/wpscripts/ztransfer/ACTION";
1.1 yason 18:
19:
20: # functions
21: sub error($)
22: {
23: open(FILE, ">>$ERROR_LOG") or return();
24: $_ = shift();
25: print FILE scalar( localtime() ) . "| $_\n";
26: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
27: close(FILE);
28: }
29:
30:
31: sub main($)
32: {
33: open(FILE, ">>$MAIN_LOG") or return();
34: $_ = shift();
35: print FILE scalar( localtime() ) . "| $_\n";
36: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
37: close(FILE);
38: }
39:
40:
41: sub zayavki($)
42: {
43: open(FILE, ">>$ZAYAVKI_LOG") or return();
44: $_ = shift();
45: print FILE scalar( localtime() ) . "| $_\n";
46: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
47: close(FILE);
48: }
49:
50:
51: sub probas($)
52: {
53: open(FILE, ">>$PROBAS_LOG") or return();
54: $_ = shift();
55: print FILE scalar( localtime() ) . "| $_\n";
56: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
57: close(FILE);
58: }
59:
60:
61: sub critical($)
62: {
63: if( open(FILE, ">>$CRITICAL_LOG") )
64: {
65: $_ = shift();
66: print FILE scalar( localtime() ) . "| $_\n";
67: close(FILE);
68: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
69: }
70: exit(-1); # exit program with -1 on *critical* error
71: }
72:
73:
74: sub filelist($)
75: {
76: my $files_ref = shift;
77: my @files = @$files_ref;
78:
79: open(FILE, ">$FILE_LIST") or return();
80: foreach $_ (@files)
81: {
82: print FILE "$_\n";
83: }
84: close(FILE);
85: }
86:
87:
88: sub diff($$$)
89: {
90: my $path = shift;
91: my $size_orig = shift;
92: my $size_arc = shift;
93: my $diff = $size_orig / $size_arc;
94:
95: # in human-readable format
96: # we don't suppose gigabyte archives
97: $size_orig = ($size_orig > 1048576 ? int($size_orig / 1024 / 1024) . " MB" : int($size_orig / 1024) . " KB");
98: $size_arc = ($size_arc > 1048576 ? int($size_arc / 1024 / 1024) . " MB" : int($size_arc / 1024) . " KB");
99:
100: open(FILE, ">>$DIFFS_FILE") or return();
101: print FILE scalar( localtime() ) . "| $path - original=$size_orig, compressed=$size_arc [diff=$diff]\n";
102: print STDOUT scalar( localtime() ) . "| $path - original=$size_orig, compressed=$size_arc [diff=$diff]\n" if($DEBUG);
103: close(FILE);
104:
105: }
106:
107:
108: sub file_work_on($$)
109: {
110: my $file = shift;
111: my $action = shift;
112:
113: open(FILE, ">$CURRENT_FILE") or return();
114: print FILE $file;
115: close(FILE);
116:
117: open(ACT, ">$CURRENT_ACTION") or return();
118: print ACT $action;
119: close(ACT);
120:
121: }
122:
123:
124: sub file_work_done()
125: {
126: # consider this stuff okay, as usually ;-)
127: # but in future maybe not to call anything external?
128: system("/bin/rm $CURRENT_FILE") if(-e $CURRENT_FILE);
129: system("/bin/rm $CURRENT_ACTION") if(-e $CURRENT_ACTION);
130: }
131:
132:
133: sub stdout($)
134: {
135: my $message = shift;
136: print "STDOUT: $message\n";
137: }
138:
139:
140: return(1);
CVSweb