首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

​如何使用日志调试

01 日志的三个优点 Logging(日志)是一种编写系统的方式,可以产生一系列信息记录,被称为 log。Printlining 只是输出简单的,通常是临时的日志。...初学者一定要理解并且使用日志,因为他们对编程的理解是局限的。因为系统的复杂性,系统架构必须理解与使用日志。在理想的状态下,程序运行时产生的日志信息数量需要是可配置的。...日志可以提供统计和与性能相关的数据,比如语句间流逝过的时间。 可配置的情况下,日志允许我们获取普通的信息,使得我们可以在不修改或重新部署代码的情况下调试以处理具体的问题。...02 设计好日志语句 需要输出的日志数量总是一个简约与信息量的权衡。太多的信息会使得日志变得昂贵,并且造成滚动目盲,使得发现你想要的信息变得很困难。但信息太少的话,日志可能不包含你需要的信息。...你应该设计好日志语句来标记你预期的问题。预估测量程序表现的必要性。 如果你有一个永久的日志,printling 现在可以用日志的形式来完成,并且一些调试语句可能会永久地加入日志系统。

1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何为Spark应用启用Kerberos的Debug日志

    Spark作业时难免会遇到由于Kerberos认证问题导致作业运行失败的时候,那我们需要针对Spark作业进行调试,通过一些Debug日志查看认证失败的原因。...本篇文章Fayson主要介绍如何为Spark的Driver和Executor的JVM启用Kerberos的Debug日志。...内容概述 1.启用Kerberos的Debug日志 2.示例运行 3.总结 测试环境 1.CM和CDH版本为5.15 2 启用Kerberos的Debug日志 Spark的运行环境Java环境,在为Spark...的Driver和Executor启用Kerberos的Debug日志时,可以通过配置通用的Java属性“sun.security.krb5.debug=true”。...对于Spark,需要在Spark的属性中将这些Java命令行属性分别传递给Driver和Executor对应的JVM,方式如下; 1.Spark Driver启用Kerberos的Debug日志,添加如下参数

    2.4K30

    window mysql慢日志_windows下如何启用mysql慢查询日志

    今天在测试4000000条记录的mysql慢查询,数据库安装在windows上,百度了很多,都没有个测试可行的的解决方案或者经验之谈,可能是因为mysql版本不一样吧!...=FILE(这个一定要改成FILE,否则慢查询日志不会输出到日志文件) slow-query-log=on(on表示启用,0表示关闭) slow_query_log_file=”mysql-slow.log...”(慢查询日志文件,在上面的datadir目录之下) long_query_time=1(定义超过1秒的查询就是慢查询,测试时候用,生产环境应该根据实际需要调整在1到10之间的数) 然后,最后重新启动mysql...服务名可以右击计算机——管理——服务和应用程序——服务中找到,如下图,服务名为“mysql56” 最后,登陆mysql,使用命令:show variables like ‘%query%’,如下图: 则启用成功...不过开启慢查询日志记录,将消耗资源,因此,生产环境下,应当按需开启,不应一直开启!!!

    1.8K20

    如何启用Oozie的HA

    Oozie的HA是Acive-Active的模式,通过负载均衡如HAProxy来实现。本篇文章中主要讲述如何启用Oozie Server的HA。...,可以参考Fayson前面的文章 《如何使用HAProxy实现Impala的负载均衡》 《如何使用HAProxy实现HiveServer2负载均衡》 《如何使用HAProxy实现Kerberos环境下的...Impala负载均衡》 《如何在Kerberos环境下使用Haproxy实现HiveServer2负载均衡》 3.启用Oozie服务HA ---- 1.使用管理员登录Cloudera Manager的WEB...界面,进入oozie服务 [rvsyvrmn1h.jpeg] 2.点击“操作”->”启用High Availability” [dmgjw8mesa.jpeg] 3.进入启用Oozie的HA引导界面 [...MySQL中,在部署Oozie服务的节点需要安装MySQL的JDBC驱动 Oozie启用高可用时需要使用Haproxy或Keepalived等方式实现Oozie服务的高可用,这里使用Haproxy方式实现

    4.2K60

    如何在不重启Yarn服务的情况下启用DEBUG日志记录

    Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 为了解决Yarn问题,需要为不同的服务启用调试...本篇文章Fayson主要介绍如何在不重启Yarn服务的情况下为ResourceManager、JobHistory等服务启用DEBUG级别日志记录。...内容概述 1.启用Yarn的DEBUG日志记录 2.总结 测试环境 1.CM和CDH版本为5.15 2.启用Resource Manager服务调试 ---- 1.在浏览器输入Resource Manager...2.获取特定类的日志记录级别 ?...4.查看Resource Manager服务的日志 ? 3.总结 ---- 1.由于DEBUG级别日志会产生大量的日志记录,请考虑需要哪些日志信息,仅对相应的类进行日志记录级别调整。

    1.7K50

    如何启用Impala的动态资源池

    中动态资源池分为Yarn的动态资源池和Impala的动态资源池两种。...Fayson在前面有多篇文章介绍了Yarn动态资源池的使用。本篇文章Fayson主要介绍如何通过CM启用Impala的动态资源池及介绍。...内容概述 1.启用Impala动态资源池 2.动态资源池说明 3.总结 测试环境 1.CM和CDH版本为5.15 2.启用Impala动态资源池 ---- 1.使用管理登录Cloudera Manager...保存配置后重启Impala服务,以上就完成了Impala动态资源池的启用。 3.进入Impala动态资源池管理界面 ?...2.计划模式,通过创建不同的计划模式,使集群在不同的时间段使用不同的资源池配置 ? 创建计划规则 ? 3.放置规则,通过创建放置规则,是用户提交的作业运行在不同的资源池 ? 创建放置规则 ?

    3.7K51

    UE4 调试常用的打印日志方法

    前言 作为一名程序猿,在日常开发中肯定少不了在代码中加入日志,日志能及时的反馈给我们代码运行时的数据和信息。在本篇文章中,就让我们来学习一下如何在 UE 中去输出日志。...在代码中使用 UE_LOG 使用UE_LOG 打印日志可以控制打印的内容,如果每个日志按照自己的级别来分类显示,那开发者就可以迅速的查找到对应的日志内容。...这些分类包括: Fatal Error Warning Display Log Verbose VeryVerbose 接下来,咱们来看如何来定义 UE_LOG。...); 参数 CategoryName 是你定义的类别名 参数 DefaultVerbosity 日志级别 参数 CompileTimeVerbosity 是要在代码中编辑的最大详情类别 例如: DECLARE_LOG_CATEGORY_EXTERN...,只要勾选上就会执行对应的操作,非常的方便,具体节点内容如下: 最后 本文简单的介绍了三种在 UE 开发中经常用到的日志调试方法,分别是 UE_LOG, AddOnScreenDebugMessage

    2.9K10

    如何使用Cloudera Manager启用YARN的HA

    1.文档编写目的 ---- 前面Fayson写过《如何使用Cloudera Manager启用HDFS的HA》,YARN的HA架构和HDFS的HA类似,需要启动两个ResourceManager,这两个...本篇文章主要讲述如何使用Cloudera Manager启用YARN的HA。...2.启用YARN HA ---- 1.使用管理员用户登录Cloudera Manager的Web管理界面,进入YARN服务 [cgaup94pdn.jpeg] 2.点击“启用High Avaiability...] 4.点击“完成”,查看YARN服务实例 [isig4041vb.jpeg] 可以看到YARN的ResourceManager实例为两个,一个是活动状态,一个是备用状态,至此已完成YARN HA的启用...] 6.Yarn的8088显示作业成功 [cbfqlofxc1.jpeg] 可以看到启用ResourceManager 的HA后,运行的MR作业不会因为ResourceManager其中一个服务挂掉而导致作业退出

    1.8K90

    如何启用Spring Boot Actuator的所有Endpoints

    概述 本文将介绍如何启用Spring Boot Actuator的所有Endpoints。首先从maven依赖开始,然后讲解如何通过配置文件来控制Endpoint(后称作端点)。...最后再学习一下如何确保端点的安全。 其中Spring Boot 1.x和Spring Boot 2.x在Actuator的端点配置上会有一定的区别。当出现区别时,会进行提示。...从Spring Boot 2.x开始,我们需要手动的去启用和暴露端点。...exclude属性的优先级要高于include。 开启指定端点 下面来看一下如何细粒度的开启指定的端点。...随后,我们在应用程序的application.properties文件中定义了端点的启用、禁用和暴露。鉴于Spring Boot对/shutdwon端点的不同处理,我们学习了如何单独启用该端点。

    2.3K20

    Blackhole库:处理日志记录和调试信息的屏蔽

    Blackhole库是一个Python库,主要用于处理日志记录和调试信息的屏蔽。它提供了一种简单而灵活的方式来控制哪些日志消息应该被记录,哪些应该被丢弃。...通过Blackhole库,开发人员可以轻松地管理日志信息的输出,避免不必要的日志记录,从而提高代码的可读性和性能。 在日常开发中,使用Blackhole库可以帮助开发人员更好地管理日志输出。...有时候,在开发过程中会产生大量的日志信息,如果所有信息都被记录下来,会导致日志文件变得庞大且难以阅读。...下面是一个简单的示例代码,演示了如何在Python中使用Blackhole库: import logging from blackhole import BlackholeHandler # 创建Logger...通过上述代码示例,我们可以看到Blackhole库的使用方式:创建BlackholeHandler对象并将其添加到Logger中,从而达到屏蔽特定日志信息的目的。

    12610

    对mysql日志进行操作的总结包括 启用,过期自动删除 等

    不用想得太复杂,既然是回放你就得注意了,如果你执行了两次恢复那么就相当于是回放了两次,后 果如何你自己应该清楚了吧。...如 果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一个指定的时间点的数据。...关于启用二进制日志的信息,参见5.11.3节,“二进制日志”。对于 mysqlbinlog的详细信息,参见mysql手册8.6节,“mysqlbinlog:用于处理二进制日志文件的实用工具”。...如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式给出。启用二进制日志的选项为-- log-bin。...组合执行前夜的转储文件和mysqlbinlog的两行可以将所有数据恢复到上午10:00前一秒钟。你应检查日志以确保时间确切。下一节介绍如何实现。 2.

    96820

    在 Visual Studio 新旧不同的 csproj 项目格式中启用混合模式调试程序(开启本机代码调试)

    因为我使用 Visual Studio 主要用来编写 .NET 托管程序,所以平时调试的时候是仅限托管代码的。不过有时需要在托管代码中混合调试本机代码,那么就需要额外在项目中开启本机代码调试。...本文介绍如何开启本机代码调试。 ---- 本文涉及到新旧 csproj 项目格式,不懂这个也不影响你完成开启本机代码调试。...在项目上右键 -> 属性 -> Debug,这时你可以在底部的调试引擎中发现 Enable native code debugging 选项,开启它你就开启了本机代码调试,于是也就可以使用混合模式调试程序...": true } } } 现在,你可以选择你项目的启动方式了,其中一个是开启了本机代码调试的方式。...关于这些配置的更多博客,你可以阅读:VisualStudio 使用多个环境进行调试 - 林德熙。

    43020

    如何优雅的调试段错误

    摘要:当程序运行出现段错误时,目标文件没有调试符号,也没配置产生 core dump,如何定位到出错的文件和函数,并尽可能提供更详细的一些信息,如参数,代码等。...bit0: 值为 1 表示没有足够的权限访问非法地址的内容,值为 0 表示访问的非法地址根本没有对应的页面,也就是无效地址。...(传递参数都是用的 edi 和 esi ,是因为 C 语言中 int 是 32位的,而 rdi 和 rsi 都是 64 位的,edi 和 esi 可以分别当成 rdi 和 rsi 的一部分来使用。)...由此我们大概知道这里是读取函数的第一个参数的某个偏移量,推测第一个参数是一个结构,这个偏移量是结构的某个成员,而这个结构的地址目前是个无效地址,所以取偏移量会引起读取内存出错。...libc 的调试符号: $ locate libc-2.27.so /lib/i386-linux-gnu/libc-2.27.so /lib/x86_64-linux-gnu/libc-2.27.so

    4.7K52

    如何绕过IsDebuggerPresent的反调试

    在某爱论坛上看到有个师傅写了个Crackme 关于如何绕过IsDebuggerPresent的反调试的,闲来无事复现调试一下 先上原文链接:https://www.52pojie.cn/thread-1432590...-1-1.html 反调试 什么是反调试技术 反调试技术,顾名思义就是用来防止被调试的一种技术 简单的反调试往往是识别是否被调试,如果是则退出程序,封禁账号等等 (检测) 再复杂些可以在反汇编代码中插入花指令...,使调试器的反汇编引擎无法正确解析反汇编指令(干扰) 门槛较高的反调试则可以是从驱动层将调试权限清零,使得调试器失效等等 (权限清零) 反调试的手段可以大致归纳为:检测、干扰、权限清零 三种 反调试常见手段...反调试手段层出不穷,可以分为两类: 0环,内核级调试 3环,用户应用层调试 之前写对抗沙盒的时候:判断父进程是否是explorer.exe,不是则退出,似乎也可以作为一种简单的反调试手段,之前没怎么了解过反调试...开始调试 打开就是一个人畜无害的样子 ? 查壳 ?

    2.4K20

    如何调试Windows的stackdump文件

    29 Dec 2016 如何调试Windows的stackdump文件 在Windows上,通过Cygwin编译的c程序在运行时,若有内存错误也会产生类似...Linux上的core文件,但是该文件一般是以stackdump为后缀的文本文件,且文件提供的信息有限,只包含了程序coredump时函数调用的栈信息,不能像Linux一样使用gdb调试。...所以,在Windows平台调试Cygwin编译的c程序不太方便。本文介绍一种方法,通过反汇编c程序,结合程序coredump时生成的stackdump文件,可以快速定位出程序的coredump位置。...使用Cygwin的gcc编译该程序: gcc core_dump_demo.c -g -o core_dump_demo 这里需要使用-g选项,编译时添加调试信息,编译成功会生成一个可执行文件core_dump_demo.exe...由于栈是先进后出,所以在stackdump文件中,从下往上才是函数的调用顺序。在反汇编文件中查找coredump时最后调用的地址00100401112,就可以定位出具体的coredump位置了。

    1.6K80
    领券