Annotation of wpscripts/ztransfer/log.pm, Revision 1.1.1.1
1.1 yason 1: #!/usr/bin/perl
2: # $Id: log.pm,v 1.1.1.5 2006/05/17 12:44:35 init Exp $
3: package log;
4:
5: my $DEBUG = 1;
6:
7: my $MAIN_LOG = "/var/log/ztransfer/main.log";
8: my $ERROR_LOG = "/var/log/ztransfer/error.log";
9: my $ZAYAVKI_LOG = "/var/log/ztransfer/zayavki.log";
10: my $JPEGS_LOG = "/var/log/ztransfer/jpegs.log";
11: my $PROBAS_LOG = "/var/log/ztransfer/probas.log";
12: my $TPPS_LOG = "/var/log/ztransfer/tpps.log";
13: my $CRITICAL_LOG = "/var/log/ztransfer/critical.log";
14: my $FILE_LIST = "/var/log/ztransfer/FILES";
15: my $DIFFS_FILE = "/var/log/ztransfer/size_diffs.log";
16: my $CURRENT_FILE = "/var/log/ztransfer/FILE";
17: my $CURRENT_ACTION = "/var/log/ztransfer/ACTION";
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 jpegs($)
52: {
53: open(FILE, ">>$JPEGS_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: sub tpps($)
61: {
62: open(FILE, ">>$TPPS_LOG") or return();
63: $_ = shift();
64: print FILE scalar( localtime() ) . "| $_\n";
65: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
66: close(FILE);
67: }
68:
69:
70: sub probas($)
71: {
72: open(FILE, ">>$PROBAS_LOG") or return();
73: $_ = shift();
74: print FILE scalar( localtime() ) . "| $_\n";
75: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
76: close(FILE);
77: }
78:
79:
80: sub critical($)
81: {
82: if( open(FILE, ">>$CRITICAL_LOG") )
83: {
84: $_ = shift();
85: print FILE scalar( localtime() ) . "| $_\n";
86: close(FILE);
87: print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
88: }
89: exit(-1); # exit program with -1 on *critical* error
90: }
91:
92:
93: sub filelist($)
94: {
95: my $files_ref = shift;
96: my @files = @$files_ref;
97:
98: open(FILE, ">$FILE_LIST") or return();
99: foreach $_ (@files)
100: {
101: print FILE "$_\n";
102: }
103: close(FILE);
104: }
105:
106:
107: sub diff($$$)
108: {
109: my $path = shift;
110: my $size_orig = shift;
111: my $size_arc = shift;
112: my $diff = $size_orig / $size_arc;
113:
114: # in human-readable format
115: # we don't suppose gigabyte archives
116: $size_orig = ($size_orig > 1048576 ? int($size_orig / 1024 / 1024) . " MB" : int($size_orig / 1024) . " KB");
117: $size_arc = ($size_arc > 1048576 ? int($size_arc / 1024 / 1024) . " MB" : int($size_arc / 1024) . " KB");
118:
119: open(FILE, ">>$DIFFS_FILE") or return();
120: print FILE scalar( localtime() ) . "| $path - original=$size_orig, compressed=$size_arc [diff=$diff]\n";
121: print STDOUT scalar( localtime() ) . "| $path - original=$size_orig, compressed=$size_arc [diff=$diff]\n" if($DEBUG);
122: close(FILE);
123:
124: }
125:
126:
127: sub file_work_on($$)
128: {
129: my $file = shift;
130: my $action = shift;
131:
132: open(FILE, ">$CURRENT_FILE") or return();
133: print FILE $file;
134: close(FILE);
135:
136: open(ACT, ">$CURRENT_ACTION") or return();
137: print ACT $action;
138: close(ACT);
139:
140: }
141:
142:
143: sub file_work_done()
144: {
145: # consider this stuff okay, as usually ;-)
146: # but in future maybe not to call anything external?
147: system("/bin/rm $CURRENT_FILE") if(-e $CURRENT_FILE);
148: system("/bin/rm $CURRENT_ACTION") if(-e $CURRENT_ACTION);
149: }
150:
151:
152: sub stdout($)
153: {
154: my $message = shift;
155: print "STDOUT: $message\n";
156: }
157:
158:
159: return(1);
CVSweb