标签: log4javascript

如何有效地使用日志记录机制?

我正在使用log4javascript来记录和跟踪我的JavaScript代码中的问题.我以前见过类似的日志记录辅助工具,但我很难理解应该如何使用这些日志级别更有用和更有效.

大多数时候,我最终记录调试,信息或跟踪,而不是真正意识到它们的效率与否.随着代码变得越来越大,它变得越来越难,我觉得日志比帮助更麻烦.

有人可以给我一些指导/帮助,以便我可以很好地使用日志记录机制.

以下是log4javascript支持的不同日志级别:

  1. log4javascript.Level.ALL
  2. log4javascript.Level.TRACE
  3. log4javascript.Level.DEBUG
  4. log4javascript.Level.INFO
  5. log4javascript.Level.WARN
  6. log4javascript.Level.ERROR
  7. log4javascript.Level.FATAL

javascript debugging logging log4javascript

5
推荐指数
1
解决办法
2073
查看次数

log4javascript中的日志对象

我想使用 log4javascript 记录对象。例如,考虑以下代码:

function LogObject() {
var blah = {
    one: 42,
    two: "486"
};
logger.Info(blah);
Run Code Online (Sandbox Code Playgroud)

假设 logger 是正确设置的 log4javascript logger 的实例:

var logger = log4javascript.getLogger("InternalLogger");
var ajaxAppender = new log4javascript.AjaxAppender(url),
jsonLayout = new log4javascript.JsonLayout(false, false);
ajaxAppender.setLayout(jsonLayout);
ajaxAppender.addHeader("Content-Type", "application/json");
logger.addAppender(ajaxAppender);
Run Code Online (Sandbox Code Playgroud)

我期待结果如下:请求有效负载包含消息数组,其中首先是我的对象序列化为 JSON。我看到的是消息数组,其中首先包含字符串“Object object”(例如调用了 toString() 方法)。我怎样才能做到这一点?

javascript logging log4javascript

5
推荐指数
1
解决办法
3320
查看次数

如何将angularjs写入日志文件?

我有个问题?在Angularjs项目中,我可以用什么日志写入文件?Angular或log4javascript的$ log.我有Angularjs的$ log代码配置:

$log.getInstance = function (context) {
        return {
            log: enhanceLogging($log.log, context),
            info: enhanceLogging($log.info, context),
            warn: enhanceLogging($log.warn, context),
            debug: enhanceLogging($log.debug, context),
            error: enhanceLogging($log.error, context)
        };
    };

    function enhanceLogging(loggingFunc, context) {
        return function () {
            var modifiedArguments = [].slice.call(arguments);
            modifiedArguments[0] = [moment().format("dddd h:mm:ss a") + '::[' + context + ']: '] + modifiedArguments[0];
            loggingFunc.apply(null, modifiedArguments);
        };
    }
Run Code Online (Sandbox Code Playgroud)

它工作,但它只写入控制台,现在我想将日志输出到文件?

javascript logging log4javascript angularjs

5
推荐指数
1
解决办法
1万
查看次数

log4javascript - 不显示跟踪消息

我正在使用log4javascript版本1.4.3.
在我的应用程序中,它适用于除trace之外的所有日志级别.为了简化问题并确保问题不在我的应用程序中,我使用作者示例代码作为示例并添加了setThreshold(log4javascript.TRACE),然后添加了一行来生成跟踪条目(我也删除了他的例子中只与ajaxAppender相关的行只留下了popUpAppender).

当我运行代码时,错误调试消息出现在log4javascript popUp窗口中,但没有跟踪消息.

显然,我没有正确理解跟踪级别的使用或跟踪消息的配置.如果有人可以指出我的方式错误,那么我可以修复我的应用程序日志记录.

下面失败的示例代码.

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <title>log4javascript example from  manual</title>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        <meta name="author" content="Tim Down - tim@log4javascript.org" />
        <meta name="description" content="log4javascript, a logging framework for JavaScript based on log4j" />
        <meta name="robots" content="all" />
        <script type="text/javascript" src="/tracker/libraries/log4javascript.js"></script>
        <script type="text/javascript">
            //<![CDATA[
            var log = log4javascript.getLogger();
            var popUpAppender = new log4javascript.PopUpAppender();
            var popUpLayout = new …
Run Code Online (Sandbox Code Playgroud)

javascript log4javascript

4
推荐指数
1
解决办法
1222
查看次数

如何为log4javascript使用有效负载而不是form-data

我受到我的webservice的限制:它需要一个json-payload!

所以,做点什么

var ajaxAppender = new log4javascript.AjaxAppender("clientLogger");
var jsonLayout = new log4javascript.JsonLayout();
ajaxAppender.setLayout(jsonLayout);
log.addAppender(ajaxAppender);
Run Code Online (Sandbox Code Playgroud)

将无法工作,因为它在forms-collection(datalayout)中创建了两个键.

如何使用内置选项获取json-payload?

log4javascript

3
推荐指数
1
解决办法
591
查看次数

修改Log4Javascript的UI

我有log4javascript设置,以便它显示如下日志: 在此输入图像描述

但是,我想摆脱一些东西,而是希望UI如下: 在此输入图像描述

如何才能做到这一点?我正在使用InPageAppender

javascript log4javascript

3
推荐指数
1
解决办法
509
查看次数

获取自身内部的类函数名称

我正在尝试在我的打字稿程序中设置日志记录,使用log4javascript.

但是我不知道如何使用反射(而不是手动输入)检索函数名称。

理想情况下,我想模仿我所做的C#

public class Foo 
{
    private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(typeof(Foo));

    public Foo()
    {
    }

    public FooMethod()
    {
        try {
            logger.Logger.Log(this.GetType(), log4net.Core.Level.Trace, "Entering" + MethodBase.GetCurrentMethod().Name, null);
            // code
        }
        catch (e) {
            logger.Logger.Log(this.GetType(), log4net.Core.Level.Debug, ex.Message, null);
        }
        finally {
            logger.Logger.Log(this.GetType(), log4net.Core.Level.Trace, "Exiting" + MethodBase.GetCurrentMethod().Name, null);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点Typescript?我所能做的就是获取类名。

class Foo {
    private static logger: log4javascript.Logger = log4javascript.getLogger(getName(Foo));

    constructor() {
    }

    FooFunction() {
        try {
            SymDataSource.logger.trace("Entering: " + getName(Foo.prototype.FooFunction));
            // code …
Run Code Online (Sandbox Code Playgroud)

javascript reflection log4javascript typescript

3
推荐指数
1
解决办法
5908
查看次数