我工作的组织使用服务现在,我刚加入团队,我的团队希望我现在就登录服务做一些研究.
他们想要的只是在脚本根据脚本的详细级别在服务器上编写脚本时控制脚本的日志记录
我对日志记录的理解是它是在服务器上发生的进程类型,即
•如果脚本的语法不正确,则会将其记录为警告,说明日志消息中的编译错误
•如果某些内容成功运行或进程已完成,则会将其记录为INFO,并显示发生的消息
•进行类似的调试记录,(虽然我可能错了)
我试着在服务上搜索wiki,我找到的一种方法是gs.log()
我尝试运行一些测试脚本来记录信息 System Definition > Scripts - Background
我尝试过的各种脚本中的一些
var gl = new GSLog("com.snc.sla.tasksla.log", "TaskSLA");
gl.logErr("This is an error message");
var gl = new GSLog("com.snc.sla.tasksla.log", "TaskSLA");
gl.logWarning("This is a warning message");
gs.info("This is an info log");
gs.debug("This is a debug log");
Run Code Online (Sandbox Code Playgroud)
然后在日志表中搜索系统日志>系统日志>全部
所有看到的是我运行的脚本整体记录为INFO作为级别,如果脚本有语法错误它记录相同的警告级别
为什么不逐行记录脚本?
还有一种方法可以告诉Service现在应该根据详细级别记录哪些脚本?
如果您使用的是Fuji版本或更新版本(这仍然很新,那么您可能不会这样),实际上有一个全新的日志API,它更直观,而且它是基于应用程序的.以下是该API的文档:
赘言
有4个级别的详细程度,从最简洁到最详细的顺序,它们是:
error (gs.error)
warn (gs.warn)
info (gs.info)
debug (gs.debug)
Run Code Online (Sandbox Code Playgroud)
...这意味着将特定应用程序的日志级别设置为"info"将为您提供信息+警告+错误,但不进行调试.
...会话调试详细程度是debug,所以任何级别的日志详细程度都将包含在会话调试输出中,因为JUST正在调试的应用程序在会话调试激活的会话中.
记录详细程度的属性是(替换为您的应用程序名称):
<APP_NAME>.logging.verbosity // off -> error -> warn -> info -> debug
Run Code Online (Sandbox Code Playgroud)
目的地
"db"的日志目标将把所需日志记录详细程度中的日志消息路由到扩展syslog的表"syslog_app_scope".这个新表添加了用于发布日志的App/Scope的字段以及链接到调用日志API的脚本的源脚本字段(当我们可以解决时,当前仅适用于业务规则和脚本包含).当Destination设置为"db"时,日志也将转到文件系统.
"file"的日志目标将记录到节点的文件系统日志,而不向日志侦听器广播(Scripts-Background除外)
目的地的财产是:
<APP_NAME>.logging.destination // none -> file -> db (implies file also)
Run Code Online (Sandbox Code Playgroud)
用法示例
此API的消费者(来自JavaScript)应该能够:
gs.debug(message [, parameters])
-Emit日志消息在调试级别详细程度
gs.info(message [, parameters])
- 在信息级详细程度发送日志消息
gs.warn(message [, parameters])
-emit日志消息警告级别详细
gs.error(message [, parameters])
- 错误级别详细程度的发送日志消息
此日志记录API支持java MessageFormat占位符替换模式目前最多支持5个"varargs"占位符参数,任何超过5个都需要指定为单个javascript数组参数所有这些都是合法调用:
gs.info("Here's a log message from me"); // no params
gs.info("Here's a log message from {0}", myName); // single non array param
gs.info("Here's a log message from {0}.{1}", myFirstName, myLastName); // multiple "varargs" params (up to 5!)
gs.info("Here's a log message from {0}.{1}", [myFirstName, myLastName]); // array of n-number of params (no upper bounds)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |