@ -11,40 +11,47 @@
// with macros.
// with macros.
# pragma once
# pragma once
# include "port/port.h"
// Helper macros that include information about file name and line number
// Helper macros that include information about file name and line number
# define STRINGIFY(x) #x
# define ROCKS_LOG_STRINGIFY(x) #x
# define TOSTRING(x) STRINGIFY(x)
# define ROCKS_LOG_TOSTRING(x) ROCKS_LOG_STRINGIFY(x)
# define PREPEND_FILE_LINE(FMT) ("[" __FILE__ ":" TOSTRING(__LINE__) "] " FMT)
# define ROCKS_LOG_PREPEND_FILE_LINE(FMT) ("[%s:" ROCKS_LOG_TOSTRING(__LINE__) "] " FMT)
inline const char * RocksLogShorterFileName ( const char * file )
{
// 15 is the length of "util/logging.h".
// If the name of this file changed, please change this number, too.
return file + ( sizeof ( __FILE__ ) > 15 ? sizeof ( __FILE__ ) - 15 : 0 ) ;
}
// Don't inclide file/line info in HEADER level
// Don't inclide file/line info in HEADER level
# define ROCKS_LOG_HEADER(LGR, FMT, ...) \
# define ROCKS_LOG_HEADER(LGR, FMT, ...) \
rocksdb : : Log ( InfoLogLevel : : HEADER_LEVEL , LGR , FMT , # # __VA_ARGS__ )
rocksdb : : Log ( InfoLogLevel : : HEADER_LEVEL , LGR , FMT , # # __VA_ARGS__ )
# define ROCKS_LOG_DEBUG(LGR, FMT, ...) \
# define ROCKS_LOG_DEBUG(LGR, FMT, ...) \
rocksdb : : Log ( InfoLogLevel : : DEBUG_LEVEL , LGR , PREPEND_FILE_LINE ( FMT ) , \
rocksdb : : Log ( InfoLogLevel : : DEBUG_LEVEL , LGR , ROCKS_LOG_ PREPEND_FILE_LINE( FMT ) , \
# #__VA_ARGS__ )
RocksLogShorterFileName ( __FILE__ ) , # # __VA_ARGS__ )
# define ROCKS_LOG_INFO(LGR, FMT, ...) \
# define ROCKS_LOG_INFO(LGR, FMT, ...) \
rocksdb : : Log ( InfoLogLevel : : INFO_LEVEL , LGR , PREPEND_FILE_LINE ( FMT ) , \
rocksdb : : Log ( InfoLogLevel : : INFO_LEVEL , LGR , ROCKS_LOG_ PREPEND_FILE_LINE( FMT ) , \
# #__VA_ARGS__ )
RocksLogShorterFileName ( __FILE__ ) , # # __VA_ARGS__ )
# define ROCKS_LOG_WARN(LGR, FMT, ...) \
# define ROCKS_LOG_WARN(LGR, FMT, ...) \
rocksdb : : Log ( InfoLogLevel : : WARN_LEVEL , LGR , PREPEND_FILE_LINE ( FMT ) , \
rocksdb : : Log ( InfoLogLevel : : WARN_LEVEL , LGR , ROCKS_LOG_ PREPEND_FILE_LINE( FMT ) , \
# #__VA_ARGS__ )
RocksLogShorterFileName ( __FILE__ ) , # # __VA_ARGS__ )
# define ROCKS_LOG_ERROR(LGR, FMT, ...) \
# define ROCKS_LOG_ERROR(LGR, FMT, ...) \
rocksdb : : Log ( InfoLogLevel : : ERROR_LEVEL , LGR , PREPEND_FILE_LINE ( FMT ) , \
rocksdb : : Log ( InfoLogLevel : : ERROR_LEVEL , LGR , ROCKS_LOG_ PREPEND_FILE_LINE( FMT ) , \
# #__VA_ARGS__ )
RocksLogShorterFileName ( __FILE__ ) , # # __VA_ARGS__ )
# define ROCKS_LOG_FATAL(LGR, FMT, ...) \
# define ROCKS_LOG_FATAL(LGR, FMT, ...) \
rocksdb : : Log ( InfoLogLevel : : FATAL_LEVEL , LGR , PREPEND_FILE_LINE ( FMT ) , \
rocksdb : : Log ( InfoLogLevel : : FATAL_LEVEL , LGR , ROCKS_LOG_ PREPEND_FILE_LINE( FMT ) , \
# #__VA_ARGS__ )
RocksLogShorterFileName ( __FILE__ ) , # # __VA_ARGS__ )
# define ROCKS_LOG_BUFFER(LOG_BUF, FMT, ...) \
# define ROCKS_LOG_BUFFER(LOG_BUF, FMT, ...) \
rocksdb : : LogToBuffer ( LOG_BUF , PREPEND_FILE_LINE ( FMT ) , # # __VA_ARGS__ )
rocksdb : : LogToBuffer ( LOG_BUF , ROCKS_LOG_PREPEND_FILE_LINE ( FMT ) , \
RocksLogShorterFileName ( __FILE__ ) , # # __VA_ARGS__ )
# define ROCKS_LOG_BUFFER_MAX_SZ(LOG_BUF, MAX_LOG_SIZE, FMT, ...) \
# define ROCKS_LOG_BUFFER_MAX_SZ(LOG_BUF, MAX_LOG_SIZE, FMT, ...) \
rocksdb : : LogToBuffer ( LOG_BUF , MAX_LOG_SIZE , PREPEND_FILE_LINE ( FMT ) , \
rocksdb : : LogToBuffer ( LOG_BUF , MAX_LOG_SIZE , ROCKS_LOG_ PREPEND_FILE_LINE( FMT ) , \
# #__VA_ARGS__ )
RocksLogShorterFileName ( __FILE__ ) , # # __VA_ARGS__ )