2

如何删除日志文件中关于在 openACS、project-open 中使用已弃用的 proc 的警告?

部分配置:

# Debug is turned on for demo servers. Please turn off for
# performance critical production installations.
set debug               false

#---------------------------------------------------------------------
# 
# Access log -- nslog 
# 
#---------------------------------------------------------------------
ns_section ns/server/${server}/module/nslog
        ns_param         debug  false
        ns_param         dev            false
        ns_param         enablehostnamelookup false
        ns_param         file   ${serverroot}/log/${server}.log
        ns_param         logcombined    true
        ns_param         extendedheaders        COOKIE
#       ns_param         logrefer       false
#       ns_param         loguseragent            false
        ns_param         logreqtime     true
        ns_param         maxbackup      1000
        ns_param         rollday        *
        ns_param         rollfmt        %Y-%m-%d-%H:%M
        ns_param         rollhour       0
        ns_param         rollonsignal            true
        ns_param         rolllog        true
4

2 回答 2

1

假设您在错误日志中看到的警告是以下形式:

"Deprecated proc $proc_name used"

有 2 种方法可以禁用此功能。

1)在 AOLserver 配置文件中,验证/添加这个(记得重启 AOLserver 之后)

set debug false

同样在ns/server/${server}/module/nslog部分,确保此行存在

ns_param   debug              $debug

并且,也在ns_section ns/parameters部分中,确保已设置

ns_param   debug              $debug

2) 或者,您可以从 packages\acs-bootstrap-installer\tcl\00-proc-procs.tcl 中删除或注释掉这个块

if { $warn_p } {
        set log_code "ns_log Debug \"Deprecated proc $proc_name used\"\n"
}
于 2015-08-21T13:04:44.683 回答
1

由于我在互联网上没有找到任何内容,因此我删除了函数上已弃用的标签(解决方法)。

我使用的命令是

for asd in $(grep -l -- '-deprecated ' packages/acs-tcl/tcl/*.tcl); do sed 's/-deprecated //g' $asd > ${asd}2; done

然后我将文件名 vom ${asd}2 移动到 $asd

如果方法定义中有-warn标签,那么它也需要被删除 - 否则函数会中断。

于 2015-08-21T07:56:34.517 回答