1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 import { Log } from "resource://gre/modules/Log.sys.mjs";
7 export function initTestLogging(level) {
11 LogStats.prototype = {
12 format: function format(message) {
13 if (message.level == Log.Level.Error) {
14 this.errorsLogged += 1;
24 this.formatText(message) +
29 Object.setPrototypeOf(LogStats.prototype, new Log.BasicFormatter());
31 let log = Log.repository.rootLogger;
32 let logStats = new LogStats();
33 let appender = new Log.DumpAppender(logStats);
35 if (typeof level == "undefined") {
38 getTestLogger().level = Log.Level[level];
39 Log.repository.getLogger("Services").level = Log.Level[level];
41 log.level = Log.Level.Trace;
42 appender.level = Log.Level.Trace;
43 // Overwrite any other appenders (e.g. from previous incarnations)
44 log.ownAppenders = [appender];
45 log.updateAppenders();
47 // SQLite logging is noisy in these tests - we make it quiet by default
48 // (although individual tests are free to bump it later)
49 Log.repository.getLogger("Sqlite").level = Log.Level.Info;
54 export function getTestLogger(component) {
55 return Log.repository.getLogger("Testing");