[PATCH v31 00/12] Log library enhancements
David Marchand
david.marchand at redhat.com
Fri Nov 8 09:51:27 CET 2024
On Thu, Nov 7, 2024 at 9:52 PM David Marchand <david.marchand at redhat.com> wrote:
>
> Improvements and unification of logging library.
> This version works on all platforms: Linux, Windows and FreeBSD.
>
> This is update to rework patch set. It adds several new features
> to the console log output.
>
> * Putting a timestamp on console output which is useful for
> analyzing performance of startup codes. Timestamp is optional
> and must be enabled on command line.
>
> * Displaying console output with colors.
> It uses the standard conventions used by many other Linux commands
> for colorized display. The default is to enable color if the
> console output is going to a terminal. But it can be always
> on or disabled by command line flag. This default was chosen
> based on what dmesg(1) command does.
>
> Color is used by many tools (vi, iproute2, git) because it is helpful;
> DPDK drivers and libraries print lots of not very useful messages.
> And having error messages highlighted in bold face helps.
> This might also get users to pay more attention to error messages.
> Many bug reports have earlier messages that are lost because
> there are so many info messages.
>
> * Add support for automatic detection of systemd journal
> protocol. If running as systemd service will get enhanced
> logging.
>
> * Use of syslog is optional and the meaning of the
> --syslog flag has changed. The default is *not* to use
> unless requested.
>
> Add Stephen as maintainer for log because by now have added
> more than previous authors.
>
>
> Resending for CI after some small/cosmetic changes:
>
> Changes since v30:
> - added a little helper that identifies log options (this fixed a little
> bug with the color option being parsed twice) and
> renamed eal_log_level_parse() as eal_parse_log_options(),
> - adjusted log level to ALERT for EAL error on Windows,
> - split RN updates in relevant patches and fixed style,
> - fixed --syslog usage string,
> - split and squashed Windows shim update in relevant patches,
> - fixed typos,
> - cleaned duplicate inclusion of headers,
> - moved syslog facility code update in relevant patch,
> - removed dead reference to eal_log_set_default,
The escape character \e is refused with MSVC.
This had been reported as a warning starting v26 iiuc:
==== 20 line log output for Windows Server 2022 (dpdk_msvc_compile): ====
...
[ 3 5 / 9 6 ] C o m p i l i n g C o b j e c t l i b / l i b
r t e _ l o g . a . p / l o g _ l o g _ c o l o r . c . o b j
F A I L E D : l i b / l i b r t e _ l o g . a . p / l o g _ l o g
_ c o l o r . c . o b j
" c l " " - I l i b \ l i b r t e _ l o g . a . p " " - I l i b
" " - I . . \ l i b " " - I . " " - I . . " " - I c o n f i g
" " - I . . \ c o n f i g " " - I l i b \ e a l \ i n c l u d e "
" - I . . \ l i b \ e a l \ i n c l u d e " " - I l i b \ e a l \ w
i n d o w s \ i n c l u d e " " - I . . \ l i b \ e a l \ w i n d o
w s \ i n c l u d e " " - I l i b \ e a l \ x 8 6 \ i n c l u d e "
" - I . . \ l i b \ e a l \ x 8 6 \ i n c l u d e " " - I l i b \ l
o g " " - I . . \ l i b \ l o g " " - I C : \ P r o g r a m F i
l e s \ M e l l a n o x \ M L N X _ W i n O F 2 _ D e v X _ S D K \ i
n c " " / M D " " / n o l o g o " " / s h o w I n c l u d e s "
" / W 3 " " / W X " " / s t d : c 1 1 " " / O 2 " " / G w "
" / w d 4 2 4 4 " " / w d 4 2 6 7 " " / w d 4 1 4 6 " " / e x p
e r i m e n t a l : c 1 1 a t o m i c s " " / d 1 e x p e r i m e n
t a l : t y p e o f " " / e x p e r i m e n t a l : s t a t e m e n
t E x p r e s
s i o n s " " / F I " " r t e _ c o n f i g . h " " - D _ G N
U _ S O U R C E " " - D _ W I N 3 2 _ W I N N T = 0 x 0 A 0 0 " "
- D A L L O W _ E X P E R I M E N T A L _ A P I " " - D A L L O W _
I N T E R N A L _ A P I " " - D R T E _ L O G _ D E F A U L T _ L O
G T Y P E = l i b . l o g " " / F d l i b \ l i b r t e _ l o g . a
. p \ l o g _ l o g _ c o l o r . c . p d b " / F o l i b / l i b r
t e _ l o g . a . p / l o g _ l o g _ c o l o r . c . o b j " / c "
. . / l i b / l o g / l o g _ c o l o r . c
. . / l i b / l o g / l o g _ c o l o r . c ( 8 6 ) : e r r o r
C 2 2 2 0 : t h e f o l l o w i n g w a r n i n g i s t r e
a t e d a s a n e r r o r
. . / l i b / l o g / l o g _ c o l o r . c ( 8 6 ) : w a r n i n
g C 4 1 2 9 : ' e ' : u n r e c o g n i z e d c h a r a c t e
r e s c a p e s e q u e n c e
. . / l i b / l o g / l o g _ c o l o r . c ( 8 6 ) : w a r n i n
g C 4 1 2 9 : ' e ' : u n r e c o g n i z e d c h a r a c t e
r e s c a p e s e q u e n c e
. . / l i b / l o g / l o g _ c o l o r . c ( 8 8 ) : w a r n i n
g C 4 1 2 9 : ' e ' : u n r e c o g n i z e d c h a r a c t e
r e s c a p e s e q u e n c e
Respinning the series with \033 (that was used until v25) and we should be good.
--
David Marchand
More information about the dev
mailing list