Commit c2c1e1a7 authored by Zolnierczuk, Piotr's avatar Zolnierczuk, Piotr
Browse files

minor logger updates

parent 731c9c0a
Loading
Loading
Loading
Loading
+2 −15
Original line number Diff line number Diff line
@@ -530,11 +530,13 @@ module data_types
    module procedure trap_div_int
 end interface   

 !> format point (run, tau, phase) (mostly for msg_{info, warning, error..}
 interface cpoint
    module procedure cpoint_format1
    module procedure cpoint_format2
 end interface

 !> format pixel (mostly for msg_{info, warning, error..}
 interface cpixel
    module procedure cpixel_format1
 end interface
@@ -908,21 +910,6 @@ CONTAINS
    write(cres,'(a)') trim(this%cpixel)
  end function cpixel_format1

  !> 
  !! 
  function cpixel_format2(run, tau, pixel) result(cres)
    character(len=MAX_NAME_LENGTH) cres
    integer, intent(in), optional :: run
    integer, intent(in), optional :: tau
    character(len=*), intent(in), optional :: pixel
    ! 
    cres = ' '
    if (present(run  )) write(cres,'(a,"run=",i0,",")') trim(cres), run
    if (present(tau  )) write(cres,'(a,"tau=",i0,",")') trim(cres), tau
    if (present(pixel)) write(cres,'(a,"pix=",a ,",")') trim(cres), trim(pixel)
    if (len_trim(cres)>1) cres=cres(1:len_trim(cres)-1) ! remove trailing comma
  end function cpixel_format2


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!  from here stuff to deal with collecting results into a binned sqt structure         !!
+9 −77
Original line number Diff line number Diff line
@@ -38,8 +38,6 @@ module logger

  interface logmsg
     module procedure logmsg0
     module procedure logmsg1
     module procedure logmsg2
  end interface 

contains
@@ -166,44 +164,6 @@ contains
  !> @brief
  !! Emit a log message
  subroutine logmsg0(ilevel, proc, msg, point, pixel, extra)
    integer, intent(in)          :: ilevel
    character(len=*), intent(in) :: proc
    character(len=*), intent(in) :: msg
    character(len=*), intent(in) :: point
    character(len=*), intent(in) :: pixel
    character(len=*), intent(in) :: extra
    !
    character(len=LOG_CLEVEL)  clevel
    !character(len=*), parameter  :: fmt1 = '(a8,1x,"[",a,"]",1x,a)'
    !
    clevel = get_cloglevel(ilevel, short=.TRUE.)

    ! log to stdout/stderr
    if (iclevel.ge.ilevel) then
       if(LOG_WARNING.ge.ilevel) then ! write warnings/errors to stderr
          write(output_unit,'(a,1x,a)') clevel, trim(msg)
       else
          write(output_unit,'(a)') trim(msg)
       endif
    endif

    ! log to file
    if (iflevel.ge.ilevel) then
        write (ilog,'(a8,1x,"proc=[",a,"]")', advance='no') clevel, trim(proc)
        if(len_trim(msg)  >0) write (ilog,'(" msg=[",a,"]")',   advance='no') trim(msg)
        if(len_trim(point)>0) write (ilog,'(" point=[",a,"]")', advance='no') trim(point)
        if(len_trim(pixel)>0) write (ilog,'(" pixel=[",a,"]")', advance='no') trim(pixel)
        if(len_trim(extra)>0) write (ilog,'(" extra=[",a,"]")', advance='no') trim(extra)
        write(ilog,'(a)', advance='yes') ' '  
        !write (ilog,fmt1) clevel, trim(location), trim(msg)
    endif

    ! stop if log level is fatal
    if (ilevel.le.LOG_FATAL) STOP
  end subroutine logmsg0
    

  subroutine logmsgX(ilevel, proc, msg, point, pixel, extra)
    integer, intent(in)          :: ilevel
    character(len=*), intent(in) :: proc
    character(len=*), intent(in), optional :: msg
@@ -211,13 +171,10 @@ contains
    character(len=*), intent(in), optional :: pixel
    character(len=*), intent(in), optional :: extra
    !
    character(len=8) :: clevel
    !
    clevel = get_cloglevel(ilevel, short=.TRUE.)
    ! log to stdout/stderr
    if (iclevel.ge.ilevel) then
       if(LOG_WARNING.ge.ilevel) then ! write warnings/errors to stderr
          write(output_unit,'(a,1x)', advance='no') get_cloglevel(ilevel, short=.FALSE.)
          write(output_unit,'(a8,1x)', advance='no') get_cloglevel(ilevel, short=.FALSE.)
       endif
        if(present(msg))   write (output_unit,'(a,1x)',advance='no') trim(msg)
        if(present(extra)) write (output_unit,'(a,1x)',advance='no') trim(extra)
@@ -226,7 +183,7 @@ contains

    ! log to file
    if (iflevel.ge.ilevel) then
        write (ilog,'(a8,1x,"proc=[",a,"]")', advance='no') clevel, trim(proc)
        write (ilog,'(a,1x,"proc=[",a,"]")', advance='no') get_cloglevel(ilevel, short=.TRUE.), trim(proc)
        if(present(point)) then 
            if(len_trim(point)>0) write (ilog,'(" point=[",a,"]")', advance='no') trim(point)
        end if 
@@ -245,32 +202,7 @@ contains

    ! stop if log level is fatal
    if (ilevel.le.LOG_FATAL) STOP
  end subroutine logmsgX
  

  !! Emit a log message
  subroutine logmsg1(ilevel, location, msg)
    integer, intent(in)          :: ilevel
    character(len=*), intent(in) :: location
    character(len=*), intent(in) :: msg

    call logmsg0(ilevel, proc=location, msg=msg, point="", pixel="", extra="")
  end subroutine logmsg1

  subroutine logmsg2(ilevel, location, arg1, arg2)
    integer, intent(in)          :: ilevel
    character(len=*), intent(in) :: location
    character(len=*), intent(in) :: arg1
    character(len=*), intent(in) :: arg2
    !
    integer :: ilen
    character(len=:),allocatable :: ctmp
    ilen = len_trim(arg1)+len_trim(arg2)+2
    allocate(character(len=ilen) :: ctmp)
    write(ctmp,'(a," ",a)') trim(arg1), trim(arg2)
    call logmsg0(ilevel, proc=location, msg=ctmp, point="", pixel="", extra="")
    deallocate(ctmp)
  end subroutine logmsg2
  end subroutine logmsg0


  !> @brief
@@ -281,7 +213,7 @@ contains
    character(len=*), intent(in), optional :: point
    character(len=*), intent(in), optional :: pixel
    character(len=*), intent(in), optional :: extra
    call logmsgX(LOG_TRACE, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    call logmsg(LOG_TRACE, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    return
  end subroutine msg_trace

@@ -293,7 +225,7 @@ contains
    character(len=*), intent(in), optional :: point
    character(len=*), intent(in), optional :: pixel
    character(len=*), intent(in), optional :: extra
    call logmsgX(LOG_DEBUG, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    call logmsg(LOG_DEBUG, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    return
  end subroutine msg_debug

@@ -305,7 +237,7 @@ contains
    character(len=*), intent(in), optional :: point
    character(len=*), intent(in), optional :: pixel
    character(len=*), intent(in), optional :: extra
    call logmsgX(LOG_INFO, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    call logmsg(LOG_INFO, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    return
  end subroutine msg_info

@@ -317,7 +249,7 @@ contains
    character(len=*), intent(in), optional :: point
    character(len=*), intent(in), optional :: pixel
    character(len=*), intent(in), optional :: extra
    call logmsgX(LOG_WARNING, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    call logmsg(LOG_WARNING, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    return
  end subroutine msg_warning

@@ -332,7 +264,7 @@ contains
    integer, intent(in), optional :: err
    !
    integer :: error_code
    call logmsgX(LOG_ERROR, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    call logmsg(LOG_ERROR, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    !
    error_code = ERROR_UNKNOWN
    if (present(err)) error_code = err
@@ -350,7 +282,7 @@ contains
    character(len=*), intent(in), optional :: extra
    integer, intent(in), optional :: err
    !
    call logmsgX(LOG_FATAL, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    call logmsg(LOG_FATAL, proc, msg=msg, point=point, pixel=pixel, extra=extra)
    !
    if (present(err)) call errsig(err) ! signal command interpreter
    return