logger_m Module

Implements a basic logger.


Uses

  • module~~logger_m~~UsesGraph module~logger_m logger_m iso_fortran_env iso_fortran_env module~logger_m->iso_fortran_env module~timestamp_m timestamp_m module~logger_m->module~timestamp_m

Used by

  • module~~logger_m~~UsedByGraph module~logger_m logger_m module~ia_bond_m ia_bond_m module~ia_bond_m->module~logger_m program~main main program~main->module~logger_m module~setup_m setup_m program~main->module~setup_m module~setup_m->module~logger_m module~bd_solver_m bd_solver_m module~setup_m->module~bd_solver_m module~interaction_m interaction_m module~setup_m->module~interaction_m module~brown_m brown_m module~brown_m->module~logger_m module~bd_solver_m->module~logger_m module~bd_solver_m->module~brown_m module~bd_solver_m->module~interaction_m module~interaction_m->module~ia_bond_m

Contents


Variables

TypeVisibility AttributesNameInitial
type(logger_t), public :: logger

Derived Types

type, private :: logger_t

Components

TypeVisibility AttributesNameInitial
character(len=:), public, allocatable:: fn

Name of the log file

integer, public :: fu =huge(0)

Unit number of the log file

logical, public :: is_open =.false.

Is the log file open for writing? {T/F}

Type-Bound Procedures

procedure, public :: init => logger_init
procedure, public :: finish => logger_finish
procedure, public :: log_msg => logger_log_msg

Subroutines

private subroutine logger_init(this, fn, use_stdout)

Initializes a logger.

Arguments

Type IntentOptional AttributesName
class(logger_t), intent(out) :: this

A logger_t instance

character(len=*), intent(in) :: fn

Name of the log file. If use_stdout is true, fn is ignored.

logical, intent(in) :: use_stdout

Write all log messages to stdout rather than a file on disk? {T/F}

private subroutine logger_finish(this)

Cleanup routine for a logger_t instance.

Arguments

Type IntentOptional AttributesName
class(logger_t), intent(inout) :: this

A logger_t instance

private subroutine logger_log_msg(this, msg)

Write a message to the log file.

Arguments

Type IntentOptional AttributesName
class(logger_t), intent(in) :: this

A logger_t instance

character(len=*), intent(in) :: msg

Message to write to the log file