libSplash
logging.cpp
1 
23 #include <stdio.h>
24 #include <cstdlib>
25 #include <cstdarg>
26 
27 #include "splash/core/logging.hpp"
28 
29 namespace splash
30 {
34  static int verbosity_level = 0;
35 
39  static int my_rank = 0;
40 
41  void parseEnvVars(void)
42  {
43  char *verbosity = getenv("SPLASH_VERBOSE");
44  if (verbosity != NULL)
45  {
46  verbosity_level = atoi(verbosity);
47  log_msg(1, "Setting verbosity level to %d\n", verbosity_level);
48  }
49  }
50 
51  void setLogMpiRank(int rank)
52  {
53  my_rank = rank;
54  }
55 
56  void log_msg(int level, const char *fmt, ...)
57  {
58  va_list argp;
59 
60  if (level <= verbosity_level)
61  {
62  fprintf(stderr, "[SPLASH_LOG:%d] ", my_rank);
63 
64  va_start(argp, fmt);
65  vfprintf(stderr, fmt, argp);
66  va_end(argp);
67 
68  fprintf(stderr, "\n");
69  }
70  }
71 
72 }
EXTERN void setLogMpiRank(int rank)
Definition: logging.cpp:51
static int my_rank
Definition: logging.cpp:39
EXTERN void parseEnvVars(void)
Definition: logging.cpp:41
EXTERN void log_msg(int level, const char *fmt,...)
Definition: logging.cpp:56
static int verbosity_level
Definition: logging.cpp:34