Menu

Tree [r3] /
 History

HTTPS access


File Date Author Commit
 Makefile 2007-11-21 dsuarez [r3] README is now a little bit more professional an...
 README 2007-11-21 dsuarez [r2] README is now a little bit more professional an...
 log4tran.f95 2007-11-21 dsuarez [r1] Import inicial

Read Me

log4tran
David Suarez Perera
Version 1.0
Academic Free License
21/11/2007
========================

1. Features
2. Installation
3. Linking your programs
4. Usage

------------------------

1. Features

- Able to write output to file, stdout or stderr
- Four levels of output (BASIC, INFO, DETAIL, DEBUG)

------------------------

2. Installation

Just do make.

$ make

This command creates the liblog4tran.a library

------------------------

3. Linking your programs

You have to link against the library liblog4tran.a. For instante:

$ g95 program1.f95 -L/path/to/log4tran/lib -llog4tran -I/path/to/log4tran/module

where in the -L you have to specify the location of liblog4tran.a and in the -I you 
have to specify the location of log4tran.mod file.

------------------------

4. Usage

Module log4tran includes 5 special units. One for each detail level of logging.
The trick is to redirect not used units (the ones more detailed than the loglevel specified) to
/dev/null.

Take it easy. I think next example is enough.


program Risas

  use log4tran

  integer :: lev

  !! set level
  !! lev = BASIC
  !! lev = INFO
  !! lev = DETAIL
  !! lev = DEBUG
  lev = INFO

  call setLogLevel(lev)

  !! Do one of:
  !!call setStdout
  !!call setStderr
  !!call openlog('logfile.log', 666, lev) ! 666 is the unit number for the output log file, repeat lev please!

  call setStdout

  write (ulog, *) '[ERROR] blah blah blah' ! it always writes to ulog special unit (stdout in the example)

  !! Because loglevel is INFO, only the two next sentences will be written to the log device

  write (logbasic, *) '[BASIC]  basic basic basic'       ! basic level info is the lowest detail level
  write (loginfo, *)  '[INFO]   info info info'          ! info level info is the 2nd detail level
  write (logdet, *)   '[DETAIL] details details details' ! detail level info is the 3rd detail level
  write (logdebug, *) '[DEBUG]  debug debug debug'       ! debug level info is the 4th detail level

  !! call closelog ! if openlog option was used
end program Risas




------------------------