| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| var util = require("util"); |
| |
| var disabled = function () {}; |
| var logFunc = console.log; |
| var logLevel = "error"; // default level |
| |
| function factory(level) { |
| return function () { |
| // better use spread syntax, but due to compatibility, |
| // use legacy method here. |
| var args = ["thrift: [" + level + "] "].concat(Array.from(arguments)); |
| return logFunc(util.format.apply(null, args)); |
| }; |
| } |
| |
| var trace = disabled; |
| var debug = disabled; |
| var error = disabled; |
| var warning = disabled; |
| var info = disabled; |
| |
| exports.setLogFunc = function (func) { |
| logFunc = func; |
| }; |
| |
| var setLogLevel = (exports.setLogLevel = function (level) { |
| trace = debug = error = warning = info = disabled; |
| logLevel = level; |
| switch (logLevel) { |
| case "trace": |
| trace = factory("TRACE"); |
| case "debug": |
| debug = factory("DEBUG"); |
| case "error": |
| error = factory("ERROR"); |
| case "warning": |
| warning = factory("WARN"); |
| case "info": |
| info = factory("INFO"); |
| } |
| }); |
| |
| // set default |
| setLogLevel(logLevel); |
| |
| exports.getLogLevel = function () { |
| return logLevel; |
| }; |
| |
| exports.trace = function () { |
| return trace.apply(null, arguments); |
| }; |
| |
| exports.debug = function () { |
| return debug.apply(null, arguments); |
| }; |
| |
| exports.error = function () { |
| return error.apply(null, arguments); |
| }; |
| |
| exports.warning = function () { |
| return warning.apply(null, arguments); |
| }; |
| |
| exports.info = function () { |
| return info.apply(null, arguments); |
| }; |