日志上传方法及装置的制造方法

文档序号:10515243阅读:162来源:国知局
日志上传方法及装置的制造方法
【专利摘要】本发明实施例提供一种日志上传方法及装置,涉及信息技术领域,主要目的在于解决在程序出现异常时无法将异常日志信息自动上传到服务器的问题。本发明实施例所采用的技术方案是:当程序出现异常终止时,获取程序的异常日志信息;对所述异常日志信息进行存储;将所述异常日志信息上传至服务器。本发明主要用于将异常日志信息上传到服务器。
【专利说明】
曰志上传方法及装置
技术领域
[0001 ]本发明实施例设及信息技术领域,尤其设及一种日志上传方法及装置。
【背景技术】
[0002] 随着浏览器用户的增多,各浏览平台的差异性程度也在增加,用户在使用浏览器 浏览数据的时候,经常会出现浏览器崩溃的情况,运会导致用户对浏览器的不满。用户在遇 到浏览器出现严重问题的时候,可能会通过QQ群,微信群或者论坛的方式联系开发者,来反 映浏览器出现的问题,运个时候开发者会请用户帮忙复述错误产生的过程,并要求其上传 系统日志,然后根据系统日志获取浏览器崩溃的原因。
[0003] 目前,由于大部分用户不知道如何获取系统日志,会导致开发者就无法获取到系 统日志,从而无法根据系统日志获取浏览器崩溃的原因,进而导致浏览器崩溃的问题无法 得到有效的解决。

【发明内容】

[0004] 本发明实施例提供的一种日志上传方法及装置,用W解决程序出现异常时无法将 异常日志信息自动上传到服务器的问题。
[0005] 本发明实施例提供一种日志上传方法,该方法包括:
[0006] 当程序出现异常终止时,获取程序的异常日志信息;
[0007] 对所述异常日志信息进行存储;
[000引将所述异常日志信息上传至服务器。
[0009] 具体的,所述对所述异常日志信息进行存储包括:
[0010] 获取所述程序出现异常终止时,对应的时间点;
[0011] 根据所述时间点命名所述日志信息;
[0012] 将W所述时间点命名的异常日志信息进行存储。
[0013] 进一步地,所述将所述异常日志信息上传至服务器之前,所述方法还包括:
[0014] 输出是否将W所述时间点命名的异常日志信息上传至服务器的提示信息;
[0015] 具体的,所述将所述异常日志信息上传至服务器包括:
[0016] 若接收到所述提示信息的确认指令,则将W所述时间点命名的异常日志信息上传 至服务器。
[0017] 进一步地,所述将W所述时间点命名的异常日志信息上传至服务器之后,所述方 法还包括:
[001引判断是否已成功将W所述时间点命名的异常日志信息上传至所述服务器。
[0019] 进一步地,所述判断是否已成功将W所述时间点命名的异常日志信息上传至所述 服务器之后,所述方法还包括:
[0020] 若已成功将W所述时间点命名的异常日志信息上传至所述服务器,则将本地W所 述时间点命名的异常日志信息删除。
[0021 ]具体的,所述获取程序的异常日志信息包括:
[0022] 通过在所述程序中绑定的预置功能函数,获取程序的异常日志信息。
[0023] 本发明实施例提供一种日志上传装置,该装置包括:
[0024] 获取单元,用于当程序出现异常终止时,获取程序的异常日志信息;
[0025] 存储单元,用于对所述异常日志信息进行存储;
[00%]上传单元,用于将所述异常日志信息上传至服务器。
[0027] 具体的,所述存储单元包括:
[0028] 获取模块,用于获取所述程序出现异常终止时,对应的时间点;
[0029] 命名模块,用于根据所述时间点命名所述日志信息;
[0030] 存储模块,用于将W所述时间点命名的异常日志信息进行存储。
[0031 ]进一步地,所述装置还包括:输出单元;
[0032] 所述输出单元,用于输出是否将W所述时间点命名的异常日志信息上传至服务器 的提不?目息;
[0033] 所述上传单元,具体用于若接收到所述提示信息的确认指令,则将W所述时间点 命名的异常日志信息上传至服务器。
[0034] 进一步地,所述装置还包括:
[0035] 判断单元,用于判断是否已成功将W所述时间点命名的异常日志信息上传至所述 服务器。
[0036] 进一步地,所述装置还包括:
[0037] 删除单元,用于若已成功将W所述时间点命名的异常日志信息上传至所述服务 器,则将本地W所述时间点命名的异常日志信息删除。
[0038] 所述获取单元,具体用于通过在所述程序中绑定的预置功能函数,获取程序的异 常日志信息。
[0039] 本发明实施例提供的一种日志上传方法及装置,当程序出现异常终止时,首先获 取程序的异常日志信息,然后对所述异常日志信息进行存储,最后将所述异常日志信息上 传至服务器。与目前在程序出现异常终止时通过用户将异常日志信息上传至服务器相比, 在本发明实施例中,当程序出现异常终止时,通在程序中绑定的全局捕获异常类,自动获取 程序出现的异常日志信息,然后将获取的异常日志信息进存储,最后将异常日志信息自动 上传至服务器,从而实现了自动上传异常日志信息至服务器。
【附图说明】
[0040] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作W简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根 据运些附图获得其他的附图。
[0041 ]图1为本发明实施例提供的一种日志上传方法流程图;
[0042] 图2为本发明实施例提供的另一种日志上传方法流程图;
[0043] 图3为本发明实施例提供的一种日志上传装置的结构框图;
[0044] 图4为本发明实施例提供的另一种日志上传装置的结构框图;
[0045] 图5为本发明实施例提供的一种服务器的实体结构示意图。
【具体实施方式】
[0046] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047] 本发明实施例提供了日志上传方法,如图1所示,具体步骤包括:
[004引101、当程序出现异常终止时,获取程序的异常日志信息。
[0049] 在本发明实施例中,当程序出现异常终止时,可W通过在程序中绑定全局异常捕 获类获取程序的异常日志信息,其中全局异常捕获类具体如下所示: class CrashHandler implements UncaughtExceptionHandler{ (govern de
[0050] public ¥〇id uneaughtExeeptiQn(Thread argO, Throwable argl){ } }
[0051] 在程序中绑定全局异常捕获类具体如下所示:
[0052] Thread.setDefaultUncaughtExceptionHandler(CrashHandler)
[0053] 对于本发明实施例,在程序出现异常终止时,通过调用W下函数可实现获取程序 的异常日志信息: Throwable argl StringBuilder sb == new StriiigBuilder{); sb.append(argl .toStringO + "\r\n");
[0054] for (StackTraceElement s : ai'g] .getStackT>ace()) sb.append(s.k)String〇 + "\r\n"): ? sbJoStringO;
[0055] 需要说明的是,本发明实施例中获取的异常日志信息为程序中出现的异常信息, 而非所有的系统日志信息,因此通过本发明实施例获取的异常日志信息为去除冗余的系统 日志,从而通过本发明获取的异常日志信息的存储空间会较小,内容会更加清晰,进而可使 程序开发者能够根据异常日志信息快速获取浏览器崩溃的原因,提高了异常日志信息的处 理效率。
[0056] 102、对所述异常日志信息进行存储。
[0057] 在本发明实施例中,可将所述异常日志信息存储到本地SD存储卡中,或是存储到 外部存储设备中,本发明实施例不做具体限定。需要说明的是,将所述异常日志信息进行存 储是为了解决上传异常日志信息失败时,而造成的异常日志信息丢失的问题。W及导致的 不能将异常日志信息再次上传至服务器的问题。
[0化引103、将所述异常日志信息上传至服务器。
[0059] 对于本发明实施例,当程序出现异常终止时,首先获取程序的异常日志信息,然后 将获取的异常日志信息在本地SD存储卡中进行存储,W防止上传异常日志信息失败时而造 成的异常日志信息丢失,最后将异常日志信息上传至服务器。从而本发明实施例在程序出 现异常终止时,会自动将异常日志信息上传至服务器。
[0060] 与上述方法相对应地,本发明实施例还提供了一种日志上传方法,如图2所示,具 体步骤包括:
[0061] 201、当程序出现异常终止时,通过在程序中绑定的预置功能函数获取程序的异常 日志信息。
[0062] 其中,所述预置功能函数为全局异常捕获函数,通过在程序中绑定全局异常捕获 函数,在程序出现异常终止时,会自动获取程序中异常的日志信息。所述全局异常捕获函数 具体可W如下所示:
[0063]
[0064] 202、对所述异常日志信息进行存储。
[0065] 对于本发明实施例,所述对所述异常日志信息进行存储包括:获取所述程序出现 异常终止时,对应的时间点;根据所述时间点命名所述异常日志信息;将W所述时间点命名 的异常日志信息进行存储。例如,在程序出现异常终止时,对应的时间点为2015年12月8日 14点12分,则根据该时间点命名异常日志信息对应的名称为2015.12.8-14:12。在本发明实 施例中,通过时间点命名所述异常日志信息,可W防止重复的异常日志文件产生。
[0066] 203、输出是否将W所述时间点命名的异常日志信息上传至服务器的提示信息。
[0067] 在本发明实施例中,通过输出是否将W所述时间点命名的异常日志信息上传至服 务器提示信息的方式,可让用户自主选择是否将异常日志信息上传至服务器,从而避免了 后台偷跑用户的流量。
[0068] 204、若接收到所述提示信息的确认指令,则将W所述时间点命名的异常日志信息 上传至服务器。
[0069] 205、判断是否已成功将W所述时间点命名的异常日志信息上传至所述服务器。
[0070] 需要说明的是,由于网络原因或是突然断电等原因,将会导致异常日志信息不能 够成功上传至所述服务器,因此在将W所述时间点命名的异常日志信息上传至服务器之 后,还需要判断是否已成功将W所述时间点命名的异常日志信息上传至所述服务器,若未 成功上传,则弹出询问用户是否继续上传异常日志信息至服务器的对话框,W此实现继续 上传异常日志信息。
[0071] 206、若已成功将W所述时间点命名的异常日志信息上传至所述服务器,则将本地 w所述时间点命名的异常日志信息删除。
[0072] 进一步的,作为对上述方法的实现,本发明实施例提供了一种日志上传装置,如图 3所示,该装置包括:获取单元、存储单元W及上传单元;
[0073] 获取单元31,用于当程序出现异常终止时,获取程序的异常日志信息,本发明实施 例中获取的异常日志信息为程序中出现的异常信息,而非所有的系统日志信息,因此通过 本发明实施例获取的异常日志信息为去除冗余的系统日志,从而通过本发明获取的异常日 志信息的存储空间会较小,内容会更加清晰,进而可使程序开发者能够根据异常日志信息 快速获取浏览器崩溃的原因,提高了异常日志信息的处理效率。
[0074] 存储单元32,用于对所述获取单元31获取的异常日志信息进行存储,在本发明实 施例中,可将所述异常日志信息存储到本地SD存储卡中,或是存储到外部存储设备中,本发 明实施例不做具体限定。需要说明的是,将所述异常日志信息进行存储是为了解决上传异 常日志信息失败时,而造成的异常日志信息丢失的问题。W及导致的不能将异常日志信息 再次上传至服务器的问题。
[0075] 上传单元33,用于将所述获取单元31获取的异常日志信息上传至服务器。
[0076] 进一步的,如图4所示,所述存储单元32包括:
[0077] 获取模块321,用于获取所述程序出现异常终止时,对应的时间点。
[0078] 命名模块322,用于根据所述时间点命名所述日志信息。
[0079] 存储模块323,用于将W所述时间点命名的异常日志信息进行存储。例如,在程序 出现异常终止时,对应的时间为2015年12月8日14点12分,则根据该时间点命名异常日志信 息对应的名称为2015.12.8-14:12。在本发明实施例中,通过时间点命名所述异常日志信 息,可W防止重复的文件产生。
[0080] 进一步地,所述装置还包括:输出单元;
[0081] 所述输出单元34,用于输出是否将W所述时间点命名的异常日志信息上传至服务 器的提示信息。通过输出是否将W所述时间点命名的异常日志信息上传至服务器提示信息 的方式,可让用户自主选择是否将异常日志信息上传至服务器,从而避免了后台偷跑用户 的流量。
[0082] 所述上传单元33,具体用于若接收到所述提示信息的确认指令,则将W所述时间 点命名的异常日志信息上传至服务器。
[0083] 进一步地,所述装置还包括:
[0084] 判断单元35,用于判断是否已成功将W所述时间点命名的异常日志信息上传至所 述服务器。由于网络原因或是突然断电等原因,将会导致异常日志信息不能够成功上传至 所述服务器,因此在将W所述时间点命名的异常日志信息上传至服务器之后,还需要判断 是否已成功将W所述时间点命名的异常日志信息上传至所述服务器,若未成功上传,则弹 出询问用户是否继续上传异常日志信息至服务器的对话框,W此实现继续上传异常日志信 息。
[00化]进一步地,所述装置还包括:
[0086] 删除单元36,用于若已成功将W所述时间点命名的异常日志信息上传至所述服务 器,则将本地W所述时间点命名的异常日志信息删除。
[0087] 所述获取单元31,具体用于通过在所述程序中绑定的预置功能函数,获取程序的 异常日志信息。所述预置功能函数为全局异常捕获函数,通过在程序中绑定全局异常捕获 函数,在程序出现异常终止时,会自动获取程序中异常的日志信息。
[0088] 综上所述,本发明实施例提供的一种日志上传方法及装置,当程序出现异常终止 时,首先获取程序的异常日志信息,然后对所述异常日志信息进行存储,最后将所述异常日 志信息上传至服务器。与目前在程序出现异常终止时通过用户将异常日志信息上传至服务 器相比,在本发明实施例中,当程序出现异常终止时,通在程序中绑定的全局捕获异常类, 自动获取程序出现的异常日志信息,然后将获取的异常日志信息进存储,最后将异常日志 信息自动上传至服务器,从而实现了自动上传异常日志信息至服务器。
[0089] 需要说明的是,针对上述日志上传装置,凡是本发明实施例中使用到的各个单元 模块的功能都可W通过硬件处理器化ardware processor)来实现。
[0090] 示例性的,如图5所示,图5示出了本发明实施例提供的一种服务器的实体结构示 意图,该服务器可W包括:处理器(processo;r)51、通信接口(Communications Interface) 52、存储器(memo巧)53和总线54,其中,处理器51、通信接口 52、存储器53通过总线54完成相 互间的通信。通信接口 52可W用于服务器与客户端之间的信息传输。处理器51可W调用存 储器53中的逻辑指令,W执行如下方法:当程序出现异常终止时,获取程序的异常日志信 息;对所述异常日志信息进行存储;将所述异常日志信息上传至服务器。
[0091] 此外,上述的存储器53中的逻辑指令可W通过软件功能单元的形式实现并作为独 立的产品销售或使用时,可W存储在一个计算机可读取存储介质中。基于运样的理解,本发 明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可软 件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用W使 得一台计算机设备(可W是个人计算机,服务器,或者网络设备等)执行本发明各个实施例 所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-Only Memoir)、随机存取存储器(RAM,Random Access Memoir)、磁碟或者光盘等各种 可W存储程序代码的介质。
[0092] W上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可 W是或者也可W不是物理上分开的,作为单元显示的部件可W是或者也可W不是物理单 元,即可W位于一个地方,或者也可W分布到多个网络单元上。可W根据实际的需要选择其 中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性 的劳动的情况下,即可W理解并实施。
[0093] 通过W上的实施方式的描述,本领域的技术人员可W清楚地了解到各实施方式可 借助软件加必需的通用硬件平台的方式来实现,当然也可W通过硬件。基于运样的理解,上 述技术方案本质上或者说对现有技术做出贡献的部分可软件产品的形式体现出来,该 计算机软件产品可W存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指 令用W使得一台计算机设备(可W是个人计算机,服务器,或者网络设备等)执行各个实施 例或者实施例的某些部分所述的方法。
[0094] 最后应说明的是:W上实施例仅用W说明本发明的技术方案,而非对其限制;尽管 参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可 W对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换; 而运些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和 范围。
【主权项】
1. 一种日志上传方法,其特征在于,包括: 当程序出现异常终止时,获取程序的异常日志信息; 对所述异常日志信息进行存储; 将所述异常日志信息上传至服务器。2. 根据权利要求1所述的方法,其特征在于,所述对所述异常日志信息进行存储包括: 获取所述程序出现异常终止时,对应的时间点; 根据所述时间点命名所述日志信息; 将以所述时间点命名的异常日志信息进行存储。3. 根据权利要求2所述的方法,其特征在于,所述将所述异常日志信息上传至服务器之 前,所述方法还包括: 输出是否将以所述时间点命名的异常日志信息上传至服务器的提示信息; 所述将所述异常日志信息上传至服务器包括: 若接收到所述提示信息的确认指令,则将以所述时间点命名的异常日志信息上传至服 务器。4. 根据权利要求3所述的方法,其特征在于,所述将以所述时间点命名的异常日志信息 上传至服务器之后,所述方法还包括: 判断是否已成功将以所述时间点命名的异常日志信息上传至所述服务器。5. 根据权利要求4所述的方法,其特征在于,所述判断是否已成功将以所述时间点命名 的异常日志信息上传至所述服务器之后,所述方法还包括: 若已成功将以所述时间点命名的异常日志信息上传至所述服务器,则将本地以所述时 间点命名的异常日志信息删除。6. 根据权利要求1所述的方法,其特征在于,所述获取程序的异常日志信息包括: 通过在所述程序中绑定的预置功能函数,获取程序的异常日志信息。7. -种日志上传装置,其特征在于,包括: 获取单元,用于当程序出现异常终止时,获取程序的异常日志信息; 存储单元,用于对所述异常日志信息进行存储; 上传单元,用于将所述异常日志信息上传至服务器。8. 根据权利要求7所述的装置,其特征在于,所述存储单元包括: 获取模块,用于获取所述程序出现异常终止时,对应的时间点; 命名模块,用于根据所述时间点命名所述日志信息; 存储模块,用于将以所述时间点命名的异常日志信息进行存储。9. 根据权了要求8所述的装置,其特征在于,所述装置还包括:输出单元; 所述输出单元,用于输出是否将以所述时间点命名的异常日志信息上传至服务器的提 不?目息; 所述上传单元,具体用于若接收到所述提示信息的确认指令,则将以所述时间点命名 的异常日志信息上传至服务器。10. 根据权利要求9所述的装置,其特征在于,所述装置还包括: 判断单元,用于判断是否已成功将以所述时间点命名的异常日志信息上传至所述服务 器。11. 根据权利要求10所述的装置,其特征在于,所述装置还包括: 删除单元,用于若已成功将以所述时间点命名的异常日志信息上传至所述服务器,则 将本地以所述时间点命名的异常日志信息删除。12. 根据权利要求1所述的装置,其特征在于, 所述获取单元,具体用于通过在所述程序中绑定的预置功能函数,获取程序的异常日 志信息。
【文档编号】H04L12/24GK105871587SQ201510918169
【公开日】2016年8月17日
【申请日】2015年12月10日
【发明人】慈尚亮, 余绍鹏
【申请人】乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1