首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有找到noticeError方法。同时使用Coldbox和NewRelic进行错误跟踪

没有找到noticeError方法。同时使用Coldbox和NewRelic进行错误跟踪
EN

Stack Overflow用户
提问于 2015-10-05 08:53:20
回答 1查看 259关注 0票数 4

我只是在coldbox应用程序中使用coldbox错误捕获。在OnException方法中,我只是发送错误结构来记录错误。

我在onexception方法中的代码

代码语言:javascript
复制
public function onException(event,rc,prc){
 NewRelic.logError( prc.exception.getExceptionStruct());
}

logerror()方法驻留在NewRelic.cfc中,并包含以下代码

代码语言:javascript
复制
 public boolean function logError(
  required struct exception
) {
  var cause = arguments.exception;
  var params = {  
    error_id =  createUUID(), 
    type: arguments.exception.type,
    message: arguments.exception.message
    };

    writeDump(this.newRelic);
    this.newRelic.noticeError(cause, params);abort;
    return true;
}

因此,在出错的同时,我得到了以下错误。

没有找到noticeError方法。

您可以看到,noticeError()方法存在于对象中,但是它重载了参数。

我正在使用相同的代码来捕获另一个没有任何框架的coldfusion项目中的NewRelic错误。

通过error.cfm标记调用Cferror,error.cfm中的代码如下所示

代码语言:javascript
复制
<cfset Application.newRelic.logError( variables.error )>

在NewRelic.cfc中,logerror()方法包含与coldbox应用程序相同的代码。,但是它在NewRelic中记录错误,没有任何问题.

这是我需要注意的错误并将其记录在NewRelic中的方法。

noticeError(java.lang.Throwable,java.util.Map)

因此,我只想从Cause中的logError()中的两个应用程序中获得第一个参数NewRelic.cfc的类名,以获得区别。

代码语言:javascript
复制
writeDump(cause.getClass().getName());

我得到了

用于冷盒应用的coldfusion.runtime.ExceptionScope和用于普通冷融合应用的coldfusion.runtime.UndefinedVariableException

cause参数不能从coldbox应用程序中抛出。那么,如何从coldbox应用程序中获得原始错误结构呢?并使它能够修复noticeError method was not found问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-05 20:26:03

当ColdBox用CFML的duplicate()方法复制错误对象时,底层类中的更改就会发生。我怀疑ColdFusion行为是否在任何地方都有文档记录,但除了创建您自己的java.langException实例并将原始错误的细节填充到它之外,我现在找不到一种简单的方法来绕过它。

如果您想修改ColdBox核心代码,这会发生在这里:https://github.com/ColdBox/coldbox-platform/blob/master/system/web/context/ExceptionBean.cfc#L43

我已经为ColdBox框架输入了这张票据,以检查是否可以停止在该框架的未来版本中重复错误对象。

https://ortussolutions.atlassian.net/browse/COLDBOX-476

更新: Adam Cameron在Adobe跟踪器中指出了这张票证,详细说明了引擎中的这种行为。它被关闭为"neverFix“。

https://bugbase.adobe.com/index.cfm?event=bug&id=3976478

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32944597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档