Skip to content

Commit 962e442

Browse files
committed
util/log: don't print full source path to stderr
Only print the source file name, but not the full source path, to stderr log.
1 parent c041c6d commit 962e442

File tree

6 files changed

+51
-34
lines changed

6 files changed

+51
-34
lines changed

src/app/fddev/dev1.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ agave_main( void * args );
1919

2020
extern char fd_log_private_path[ 1024 ]; /* empty string on start */
2121

22-
#define FD_LOG_ERR_NOEXIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 4, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
22+
#define FD_LOG_ERR_NOEXIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 4, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
2323

2424
extern int * fd_log_private_shared_lock;
2525

src/app/shared/commands/run/run.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ extern char fd_log_private_path[ 1024 ]; /* empty string on start */
7272

7373
static pid_t pid_namespace;
7474

75-
#define FD_LOG_ERR_NOEXIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 4, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
75+
#define FD_LOG_ERR_NOEXIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 4, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
7676

7777
extern int * fd_log_private_shared_lock;
7878

src/app/shared_dev/commands/dev.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ dev_cmd_perm( args_t * args,
5252
pid_t firedancer_pid, watch_pid;
5353
extern char fd_log_private_path[ 1024 ]; /* empty string on start */
5454

55-
#define FD_LOG_ERR_NOEXIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 4, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
55+
#define FD_LOG_ERR_NOEXIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 4, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
5656

5757
extern int fd_log_private_restore_stderr;
5858
extern int * fd_log_private_shared_lock;

src/disco/keyguard/fd_keyguard_proofs.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
void
1111
fd_log_private_1( int level,
1212
long now,
13-
char const * file,
13+
char const * path,
14+
char const * file_name,
1415
int line,
1516
char const * func,
1617
char const * msg ) {}
@@ -19,7 +20,8 @@ fd_log_private_1( int level,
1920
void
2021
fd_log_private_2( int level,
2122
long now,
22-
char const * file,
23+
char const * path,
24+
char const * file_name,
2325
int line,
2426
char const * func,
2527
char const * msg ) __attribute__((noreturn)) {

src/util/log/fd_log.c

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,8 @@ fd_log_private_hexdump_msg( char const * descr,
769769
void
770770
fd_log_private_1( int level,
771771
long now,
772-
char const * file,
772+
char const * path,
773+
char const * file_name,
773774
int line,
774775
char const * func,
775776
char const * msg ) {
@@ -797,7 +798,7 @@ fd_log_private_1( int level,
797798
a previous log message */
798799

799800
ulong hash = fd_cstr_hash_append( fd_cstr_hash_append( fd_cstr_hash_append( fd_ulong_hash(
800-
(ulong)(8L*(long)line+(long)level) ), file ), func ), msg );
801+
(ulong)(8L*(long)line+(long)level) ), path ), func ), msg );
801802

802803
static long const dedup_interval = 20000000L; /* 1/50 s */
803804

@@ -894,7 +895,7 @@ fd_log_private_1( int level,
894895
if( to_logfile )
895896
fd_log_private_fprintf_0( log_fileno, "%s %s %6lu:%-6lu %s:%s:%-4s %s:%s:%-4s %s(%i)[%s]: %s\n",
896897
level_cstr[level], now_cstr, fd_log_group_id(),tid, fd_log_user(),fd_log_host(),cpu,
897-
fd_log_app(),fd_log_group(),thread, file,line,func, msg );
898+
fd_log_app(),fd_log_group(),thread, path,line,func, msg );
898899

899900
if( to_stderr ) {
900901
static char const * color_level_cstr[] = {
@@ -910,7 +911,7 @@ fd_log_private_1( int level,
910911
char * now_short_cstr = now_cstr+5; now_short_cstr[21] = '\0'; /* Lop off the year, ns resolution and timezone */
911912
fd_log_private_fprintf_0( fd_log_private_stderr_fileno, "%s %s %-6lu %-4s %-4s %s(%i): %s\n",
912913
fd_log_private_colorize ? color_level_cstr[level] : level_cstr[level],
913-
now_short_cstr, tid,cpu,thread, file, line, msg );
914+
now_short_cstr, tid,cpu,thread, file_name, line, msg );
914915
}
915916

916917
if( level<fd_log_level_flush() ) return;
@@ -921,7 +922,8 @@ fd_log_private_1( int level,
921922
void
922923
fd_log_private_2( int level,
923924
long now,
924-
char const * file,
925+
char const * path,
926+
char const * file_name,
925927
int line,
926928
char const * func,
927929
char const * msg ) {
@@ -934,7 +936,7 @@ fd_log_private_2( int level,
934936

935937
}
936938

937-
fd_log_private_1( level, now, file, line, func, msg );
939+
fd_log_private_1( level, now, path, file_name, line, func, msg );
938940

939941
if( level<fd_log_level_core() ) {
940942
# if defined(__linux__)
@@ -1032,7 +1034,7 @@ fd_log_private_sig_abort( int sig,
10321034
static FD_TL int lock = 0;
10331035
fd_log_private_shared_lock = &lock;
10341036

1035-
#define FD_LOG_ERR_NOEXIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 4, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
1037+
#define FD_LOG_ERR_NOEXIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 4, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
10361038
FD_LOG_ERR_NOEXIT(( "Received signal %s", fd_io_strsignal( sig ) ));
10371039
#undef FD_LOG_ERR_NOEXIT
10381040

src/util/log/fd_log.h

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@
151151
152152
would log something like:
153153
154-
NOTICE 01-23 04:56:07.890123 45678 f0 0 src/file.c(901): 1 is the loneliest number
154+
NOTICE 01-23 04:56:07.890123 45678 f0 0 file.c(901): 1 is the loneliest number
155155
156156
to the ephemeral log (stderr) and log something like:
157157
@@ -195,7 +195,7 @@
195195
196196
would log something like:
197197
198-
WARNING 01-23 04:56:07.890123 75779 f0 0 src/file.c(901): HEXDUMP "bad_pkt" (96 bytes at 0x555555561a4e)
198+
WARNING 01-23 04:56:07.890123 75779 f0 0 file.c(901): HEXDUMP "bad_pkt" (96 bytes at 0x555555561a4e)
199199
0000: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 0123456789ABCDEF
200200
0010: 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 GHIJKLMNOPQRSTUV
201201
0020: 57 58 59 5a 61 62 63 64 65 66 67 68 69 6a 6b 6c WXYZabcdefghijkl
@@ -216,23 +216,34 @@
216216
emergency diagnostics, you can call `write(2)` directly to stderr or the log file,
217217
which is safe. */
218218

219-
#define FD_LOG_DEBUG(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 0, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
220-
#define FD_LOG_INFO(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 1, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
221-
#define FD_LOG_NOTICE(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 2, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
222-
#define FD_LOG_WARNING(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 3, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
223-
#define FD_LOG_ERR(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 4, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
224-
#define FD_LOG_CRIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 5, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
225-
#define FD_LOG_ALERT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 6, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
226-
#define FD_LOG_EMERG(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 7, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_0 a ); } while(0)
227-
228-
#define FD_LOG_HEXDUMP_DEBUG(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 0, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
229-
#define FD_LOG_HEXDUMP_INFO(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 1, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
230-
#define FD_LOG_HEXDUMP_NOTICE(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 2, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
231-
#define FD_LOG_HEXDUMP_WARNING(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 3, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
232-
#define FD_LOG_HEXDUMP_ERR(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 4, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
233-
#define FD_LOG_HEXDUMP_CRIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 5, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
234-
#define FD_LOG_HEXDUMP_ALERT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 6, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
235-
#define FD_LOG_HEXDUMP_EMERG(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 7, _fd_log_msg_now, __FILE__, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
219+
/* FD_SRC_FILE evaluates to the basename of __FILE__. */
220+
221+
#if defined(__FILE_NAME__)
222+
#define FD_SRC_FILE __FILE_NAME__
223+
#elif defined(__GNUC__) || defined(__clang__)
224+
#define FD_SRC_FILE (__builtin_strrchr( __FILE__, '/' ) ? __builtin_strrchr( __FILE__, '/' ) + 1 : __FILE__) /* compile time fold */
225+
#else
226+
#include <string.h>
227+
#define FD_SRC_FILE (strrchr( __FILE__, '/' ) ? strrchr( __FILE__, '/' ) + 1 : __FILE__)
228+
#endif
229+
230+
#define FD_LOG_DEBUG(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 0, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
231+
#define FD_LOG_INFO(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 1, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
232+
#define FD_LOG_NOTICE(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 2, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
233+
#define FD_LOG_WARNING(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 3, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
234+
#define FD_LOG_ERR(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 4, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
235+
#define FD_LOG_CRIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 5, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
236+
#define FD_LOG_ALERT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 6, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
237+
#define FD_LOG_EMERG(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 7, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_0 a ); } while(0)
238+
239+
#define FD_LOG_HEXDUMP_DEBUG(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 0, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
240+
#define FD_LOG_HEXDUMP_INFO(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 1, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
241+
#define FD_LOG_HEXDUMP_NOTICE(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 2, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
242+
#define FD_LOG_HEXDUMP_WARNING(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_1( 3, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
243+
#define FD_LOG_HEXDUMP_ERR(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 4, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
244+
#define FD_LOG_HEXDUMP_CRIT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 5, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
245+
#define FD_LOG_HEXDUMP_ALERT(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 6, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
246+
#define FD_LOG_HEXDUMP_EMERG(a) do { long _fd_log_msg_now = fd_log_wallclock(); fd_log_private_2( 7, _fd_log_msg_now, __FILE__, FD_SRC_FILE, __LINE__, __func__, fd_log_private_hexdump_msg a ); } while(0)
236247

237248
/* FD_LOG_STDOUT(()) is used for writing formatted messages to STDOUT, it does not
238249
take a lock and might interleave with other messages to the same pipe. It
@@ -314,7 +325,7 @@
314325
315326
would log something like:
316327
317-
NOTICE 01-23 04:56:07.890123 45678 f0 0 src/foo.c(901): cache line 0123456789abcd00
328+
NOTICE 01-23 04:56:07.890123 45678 f0 0 foo.c(901): cache line 0123456789abcd00
318329
00: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
319330
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
320331
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
@@ -647,15 +658,17 @@ fd_log_private_0( char const * fmt, ... ) __attribute__((format(printf,1,2))); /
647658
void
648659
fd_log_private_1( int level,
649660
long now,
650-
char const * file,
661+
char const * path,
662+
char const * file_name,
651663
int line,
652664
char const * func,
653665
char const * msg );
654666

655667
void
656668
fd_log_private_2( int level,
657669
long now,
658-
char const * file,
670+
char const * path,
671+
char const * file_name,
659672
int line,
660673
char const * func,
661674
char const * msg ) __attribute__((noreturn)); /* Let compiler know this will not be returning */

0 commit comments

Comments
 (0)