package loghelper; #************************************************************** # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # #************************************************************** use strict; BEGIN { use Exporter (); our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); $VERSION = 1.00; # if using RCS/CVS, this may be preferred $VERSION = do { my @r = (q$Revision: 1.1 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker @ISA = qw(Exporter); @EXPORT = qw(&set_logfile &close_logfile &log_print &setVerbose); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, # as well as any optionally exported functions @EXPORT_OK = ( ); # qw($Var1 %Hashit &func3); } # ------------------------------- Log into a file ------------------------------- local *LOGFILE; our $nGlobalLog = 0; our $nGlobalVerbose = 0; sub setVerbose() { $nGlobalVerbose = 1; } sub set_logfile($) { my $sLogFile = shift; if (open(LOGFILE, ">$sLogFile")) { $nGlobalLog = 1; } } sub close_logfile() { close(LOGFILE); $nGlobalLog = 0; } sub log_print($) { my $sLine = shift; if ($nGlobalLog) { print LOGFILE $sLine; } if ($nGlobalVerbose == 1) { print $sLine; } else { # In this special case for NetBeans, which show if a debugger can access. # The Line should print anyway. if ($sLine =~ /Listening for transport/) { print $sLine; } } } 1;