> On Feb. 21, 2017, 7:18 p.m., Jason Lowe-Power wrote: > > LGTM (+1). Quick question: Where is the default set? It wasn't obvious to > > me in skimming this, so maybe a comment somewhere?
Logger instances are enabled by default when they are instantiated (see Logger:Logger), which all log levels are enabled by default. We could make this more explicit by making the enabled flag a parameter to the constructor and setting it in Logger::get(). Would that make it cleaner? - Andreas ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/3821/#review9446 ----------------------------------------------------------- On Feb. 21, 2017, 6:54 p.m., Andreas Sandberg wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/3821/ > ----------------------------------------------------------- > > (Updated Feb. 21, 2017, 6:54 p.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Changeset 11875:aee0628e5698 > --------------------------- > base: Refactor logging to make log level selection cleaner > > It's currently possible to change the log level in gem5 by tweaking a > set of global variables. These variables are currently exposed to > Python using SWIG. This mechanism is far from ideal for two reasons: > First, changing the log level requires that the Python world enables > or disables individual levels. Ideally, this should be a single call > where a log level is selected. Second, exporting global variables is > poorly supported by most Python frameworks. SWIG puts variables in > their own namespace and PyBind doesn't seem to support it at all. > > This changeset refactors the logging code to create a more abstract > interface. Each log level is associated with an instance of a Logger > class. This class contains common functionality, an enable flag, and a > verbose flag. > > Available LogLevels are described by the LogLevel class. Lower log > levels are used for more critical messages (PANIC being level 0) and > higher levels for less critical messages. The highest log level that > is printed is controlled by calling Logger:setLevel(). > > Change-Id: I31e44299d242d953197a8e62679250c91d6ef776 > Signed-off-by: Andreas Sandberg <andreas.sandb...@arm.com> > Reviewed-by: Gabor Dozsa <gabor.do...@arm.com> > Reviewed-by: Curtis Dunham <curtis.dun...@arm.com> > > > Diffs > ----- > > src/base/misc.hh ba90ffa751b6 > src/base/misc.cc ba90ffa751b6 > src/python/swig/core.i ba90ffa751b6 > tests/configs/switcheroo.py ba90ffa751b6 > > Diff: http://reviews.gem5.org/r/3821/diff/ > > > Testing > ------- > > > Thanks, > > Andreas Sandberg > > _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev