Opened 10 years ago

Last modified 9 years ago

#903 closed enhancement

Use already existing rasdaman logging mechanism in rasnet — at Version 7

Reported by: George Merticariu Owned by: Vlad Zamfir
Priority: major Milestone: 9.2
Component: rasnet Version: development
Keywords: Cc: Peter Baumann, Alex Dumitru, Alex Toader
Complexity: Medium

Description (last modified by Dimitar Misev)

Right now debugging info is produced in few different ways:

  • RMDebug macros (RMDBGENTER, RMDBGEXIT, etc.), very complex and allow fine grained control, but seem somewhat broken
  • ENTER/LEAVE/TALK - very simple, provide indentation, but only global control is possible
  • The tile cache introduces TENTER/TTALK/TLEAVE which allow to turn on ENTER/LEAVE/TALK selectively only in the tile cache
  • RMInit::logOut, RMInit::dbgOut - simple output to the log, no possibility to turn off, typically used for outputing warnings/errors and other important info

These should be harmonized into a single method, which is hopefully both powerful and simple.

The decision in this ticket is to substitute all these with easylogging, already used in rasnet.
The main arguments for using easylogging are the following:

  • It provides thread safe logging.
  • It can be configured at runtime by providing a configuration file.(e.g. log formats can be configured, log levels can be disabled if they are not of interest)
  • It offers a range of different log levels.
  • There is no clear documentation on what loggers are available in rasdaman and what capabilities they have.

Change History (7)

comment:1 by George Merticariu, 10 years ago

Cc: Alex Dumitru added; adumitru removed
Summary: Use already existing rasdaman loggin mechanism in rasnetUse already existing rasdaman logging mechanism in rasnet

comment:2 by Dimitar Misev, 10 years ago

What about replacing the existing rasdaman logging with the easylogging? I assume easylogging is a better solution, otherwise why did you decide to use it?

comment:3 by Alex Dumitru, 10 years ago

I vote for keeping easylogging as well. Should be simple to replace the current logging mechanism, just redefine the existing rasdaman log macros to easy logging macros.

comment:4 by Alex Toader, 10 years ago

The main arguments for using easylogging are the following:

  1. It provides thread safe logging.
  2. It can be configured at runtime by providing a configuration file.(e.g. log formats can be configured, log levels can be disabled if they are not of interest)
  3. It offers a range of different log levels.
  4. There is no clear documentation on what loggers are available in rasdaman and what capabilities they have.

comment:5 by Peter Baumann, 10 years ago

Nothing against easylogging - but much against having divergent mechanisms. So we might also go for the new one, _but_ that entails going through the whole (!) code and adjusting RMInit and Debug. From my feeling this is a tremendous work - any resources on the horizon?

comment:6 by Dimitar Misev, 9 years ago

Milestone: 9.1
Owner: changed from George Merticariu to jzhang
Status: newassigned

I think this task would fit for Jinbo, unless someone else is already working on it?

Alex or Vlad, can you give some directions to Jinbo?

comment:7 by Dimitar Misev, 9 years ago

Description: modified (diff)
Owner: changed from jzhang to Vlad Zamfir
Priority: minormajor
Type: defectenhancement
Note: See TracTickets for help on using tickets.