Logging

logging DictConfig的使用 前言 一个项目中,日志模块占有很重要的一部分,因为通过日志模块我们可以追踪异常错误的位置和详细信息,从而得到具体的错误提示,帮我们解决问题提供了很大的帮助,本篇内容主要介绍一下logging模块的主要四个概念,以及通过dictionary的形式去配置项目中的日志形式。 日志的四个器 Logger记录器:暴露了应用程序代码能直接使用的接口 Handler 处理器,将(记录器产生的)日志记录发送至合适的目的地。 Filter 过滤器,提供了更好的粒度控制,它可以决定输出哪些日志记录。 Formatter 格式 阅读详情

      Logging是定位错误的最重要的部分,但是它很难获得,特别是在手机平台,在应用开发和执行发生在不同的机器上。Android有很好的日志框架来推出Android系统本身和引用程序的日志信息。一套用户水平的应用程序也被提供来浏览和过滤这些日志,例如logcat和Dalvik Debug Monitor Server工具等。

   框架:

   这个Android日志框架是由命名为logger的内核模块来实现的 。这大量的平台的日志信息在给定的时间使浏览和分析这些日志信息非常困难。为了简化这个过程,这个Android日志框架给日志信息分成了4个独立的日志缓存:

       Main:主要应用程序日志信息。

       Events:系统事件。

       Radio:与基带相关的日志信息。

       System:低水平的系统调试信息。

提供了一套API的调用运行Java和native代码来容易的发送日志信息到logger内核模块。这对于本地代码的Logging API获得通过android/log.h头文件。为了使用这个logging函数,本地代码应该首先包含这个头文件。

    #include<android/log.h>

除了包含恰当的头文件,这Android.mk文件需要动态的被修改来连接本地模使用log库。这被获得使用LOcal_LDIBS建立系统变量,如下。这个建立系统变量必须被放置在共享库建立片元的前面;否则没有效果的。

LOCAL_MODULE:=hello-jni

....

LOCAL_LDLIBS+=-llog

....

include $(BUILD_SHARED_LIBRARY)

日志信息:

   每个通过logging APIs分配给logger模块的日志条目,都有下面的属性:

   Priority:可能是vrbose,debug,info,warning,error,fatal。被支持的日志优先水平被定义在android/log.h头文件下,如下:

   typedef enum android_LogPriority {
...
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
...
} android_LogPriority;

Tag:定义了发出消息的组件。这个logcat和DDMS工具也能够过滤基于这个标签值得日志信息。这个标签被期望是合理的端。

Meessage:Text文本展示真正的日志信息。这换行符自动的添加到每个日志信息。因为环形日志缓存是相当小的,它强烈的推荐应用程序应该保持日志消息在一个合理的水平。

日志函数: 

   这个android/log.h头文件定义了一套本地的代码来发出日志消息。

   _android_log_write:能够被用来发出一个简单的字符串作为一个日志信息。它取日志优先级,日志标签,和一个日志消息,如下:

  __android_log_write(ANDROID_LOG_WARN, "hello-jni", "Warning log.");

_android_log_print:能够被用来发出一个有格式的字符串作为一个日志消息。它取日志优先,log标签和字符串格式,和其他参数的变量数量被指导以这个格式,如下:

__android_log_print(ANDROID_LOG_ERROR, "hello-jni",
"Failed with errno %d", errno);

_android_log_vprint:它和这个_android_log_print函数功能相同,除了额外的参数被传递为一个va_list代替一系列的参数。这个事非常有用的,如果你计划调用logging函数被传递给目前函数的参数的变量数量,如下:

void log_verbose(const char* format, ...)
{
va_list args;
va_start(args, format);
__android_log_vprint(ANDROID_LOG_VERBOSE, "hello-jni", format, args);
va_end(args);
}
...
void example()
{
log_verbose("Errno is now %d", errno);
}

_android_log_assert:能够被用来日志断言错误。与其他的日志函数相比,它并没有一个日志优先和总是发出作为fatal的。如果一个debugger被附加,它也SIGTRAP的目前进程能够近一步检测通过debugger:

if (0 != errno)
{
__android_log_assert("0 != errno", "hello-jni",
"There is an error.");
}

Python标准模块logging 开发Python, 一直以来都是使用自己编写的logging模块. 比较土...... 今天发现python的标准模块的这个功能做的挺好, 记录一下, 以后使用模块来进行logging. 对于这个模块的介绍网上也很多, 我也不用自己写了, 比较好的如下, http://crazier9527.iteye.com/blog/290018    Python的标准logging模块 http://blog.endlesscode.com/2010/06/03/python-logging-module/   P 阅读详情

相关推荐

jboss-logging日志实现

jboss-logging是一款类似于slf4j的日志框架,主要用于日志代理,内部采用log4j、log4j2、logback、jdk-logging等框架实现 核心在于LoggerProviders package org.jboss.logging; import java.security.AccessController; import java.security.Privi...

蛐蛐的博客 5566

日志:每个软件工程师应该知道的实时数据的统一抽象概念

我加入LinkedIn大约六年前在一个特别有趣的时间。我们刚开始对我们整体式,集中式数据库的极限跑起来,并开始过渡到专门的分布式系统的组合需要。这是一个有趣的实验:我们构建,部署和运行这一天的分布式图形数据库,分布式搜索的后端,Hadoop的安装,以及第一代和第二代key-value存储。 其中最有用的东西,我在这一切的教训是很多的,我们正在构建的事情曾在他们的心脏一个非常简单的概念:日志。

mergerly的专栏 4199

CVPR 2024 LaTeX 模板实战:从匿名提交到图表排版的避坑指南

本文详细解析CVPR 2024 LaTeX模板的使用技巧,涵盖匿名提交设置、pdfLaTeX编译器选择、图表排版优化等关键环节。通过实战案例演示智能引用、公式编号、三线表制作等专业技巧,帮助研究者高效完成论文格式规范,规避常见排版错误。特别针对双栏格式下的图片定位、跨栏表格等复杂场景提供解决方案。

weixin_42561040的博客 453

Python logging 模块之 logging.basicConfig 用法和参数详解

Python 函数之 logging.basicConfig 用法和参数详解 先举例个例子: import logging logging.basicConfig(level=logging.INFO, format='%(asctime)s %(filename)s %(levelname)s %(message)s', ...

静堂先生的博客 6万+

超详细版risc-v五级流水线cpu硬件设计实现解析

深入剖析risc-v五级流水线cpu的硬件架构与设计细节,涵盖指令流程、模块划分与关键时序控制,帮助理解risc-v五级流水线cpu的工作机制与优化策略。

weixin_42437253的博客 1633

horizon之为connection服务器配置证书

打开connection1服务器(connection2 同connection1)再输入connection1的IP地址 可通过域名和IP地址进行登录。这时候用域名登录就发现证书已经没有警告了。win+R 调出“运行”,输入mmc。connection2 同上。如果还有报错请重启一下服务器。打开connection1。可以把这个先删掉 没用。打开DC_01服务器。右键选择证书颁发机构。友好名称只能是vdm。重启之后就没有报错了。

送个祝福给小豪的博客 2960

oracle日志模式,logging的用法,force logging的用法,nologging的用法

oracle日志模式,logging的用法,force logging的用法,nologging的用法

lz_N_one的博客 2574

细聊Oracle通过ODBC数据源连接SQL Server数据库

    类似文章搜索引擎上有很多,内容大致相同,今天所谓细聊是因为我在借鉴这些文章时候走了些弯路,所以写此文,为自己备忘,同时如果能为初涉此处知识点的小伙伴提供些帮助就更好了,废话不多说。    我的应用场景:    项目系统使用oracle数据库,与客户的第三方系统供应商实现资源共享,对方为sql server数据库;    我的测试开发环境为64bitwin7PC机,本机上装有64位Oracl...

xueren_83的博客 1万+

Oracle Logging与Nologging全面总结

如果数据库开启了Force Logging,则数据库所有的操作都将记录日志;如果对象所在的表空间开启了Force Logging,则对象上的任何nologging都将被忽略。表空间的Logging为创建对象时的默认日志记录模式。常规的INSERT…values…语句,始终会记录日志。以下操作都可以调用nologging操作:(2) CTAS,nologging模式下,只记录建表语句如何防止Nologging操作带来的风险。

hf191850699的专栏 2390

Verilog实战:手把手教你实现四路组相联Cache(附完整代码解析)

本文提供了一份详细的Verilog实战指南,手把手教你实现一个四路组相联Cache。内容涵盖从设计规格、核心存储阵列、LRU替换策略到状态机设计的完整流程,并附有代码解析与优化技巧,旨在帮助硬件设计者掌握Cache控制器的RTL实现与调试方法。

pp12345的博客 516

Linux LT8912b调试记录(MIPI转LVDS/HDMI)

本文记录了在RK3588平台上使用LT8912B芯片实现MIPI转LVDS/HDMI的调试过程。主要包含设备树配置、驱动代码实现及常见问题解决。调试重点包括:1)正确配置1280x800分辨率的LVDS屏幕参数;2)确保I2C总线正常通信;3)解决花屏、图像抖动、黑屏等问题,涉及lane-rate计算、同步信号极性调整及MIPI模式选择。文中提供了详细的寄存器配置代码和故障排查方法,特别强调了I2C通信验证和电压匹配的重要性。通过参数优化和多种模式测试,最终实现了稳定的视频输出转换。

qq_45147279的博客 1088

Spring Boot Logging 配置

Spring Boot 能够使用Logback, Log4J2 , java util logging 作为日志记录工具。Spring Boot 默认使用Logback作为日志记录工具。日志默认输出到控制台但也能输出到文件中。我们通过spring-boot-starter-logging 加入Logback依赖,其实只要我们加入任意的Spring Boot starter 都会默认引入spring-boot-starter-logging,因此 我们不需要分开加入他们。 如果Logback JAR在类路径

qq_22685435的博客 1万+

YOLO小目标检测优化:9种实用方案,准确率直接提升15%

小目标检测是个系统工程,没有银弹,但有明确的优化路径。优先搞数据。Copy-Paste + 提升分辨率,这俩加起来成本最低、收益最大,能解决80%的小目标问题。别一上来就改模型结构。调参走在改结构前面。锚框聚类、损失加权、增强优化,这些都是零成本的,先做满了再说改模型的事。P2层是大杀器,但不要轻易用。加了P2层,TensorRT部署、后处理、速度都要跟着调,工程化工作量翻倍。数据和训练做到位还不够,再加也不迟。滑动窗口是兜底的。能从训练端解决的问题,就不要拖到推理端。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 187

logging日志模块

文章目录一、logging模块logging模块的四大组件Loggers(日志记录器)Handlers(日志处理器)Filters(日志过滤器)Formatters(日志记录格式化)二、[django官方中文文档](https://docs.djangoproject.com/zh-hans/2.2/topics/logging/)三、django日志配置,简单例子分析 一、logging模块 ...

AggressionStorm的博客 20万+

OpenStack [ compute_id ] 设计上的小缺陷

而 nova 代码中硬编码(或默认配置)将 compute_id 放在 site-packages 目录,属于 设计上的小缺陷—— 把 “库安装目录” 和 “运行时数据目录” 混在一起了,才导致需要临时调整这个目录的权限。# 配置项说明:node_identity_file 是 nova 用于指定节点标识文件路径的官方配置项,优先级高于代码中的默认路径。自定义 compute_id 路径,指向 /var/lib/nova/ 目录下的 compute_id 文件;

求知若渴,虚心若愚。 491

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Python-logging模块

一、日志级别 二、日志字典配置 三、模块使用

weixin_43988680的博客 3938

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

python logging设置_Python中logging配置分享

Python中logging配置分享今天给大家分享的是我职业生涯至今一直再用的一份Python logging配置。无论是Python开发的后端程序还是基于Django的Web项目都可以使用这个logging配置。废话不多说直接上代码:importosimportlogging.config# 定义三种日志输出格式 开始standard_format = '[%(asctime) -s][%(...

weixin_31869569的博客 976

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

commons-logging的使用

简介 commons-logging是Apache commons类库中的一员。Apache commons类库是一个通用的类库,提供了基础的功能,比如说commons-fileupload,commons-httpclient,commons-io,commons-codes等。 commons-logging能够选择使用Log4j还是JDK Logging,但是他不依赖Log4j,JD

LinkinPark的博客 3万+

python之logging模块

python之logging模块

weixin_39926295的博客 1646

java logging包_Java logging整理

常见的java loggingSystem.out与System.errjava.util.loggingapache log4japache commons loggingSLF4J其中System.out与System.err就不多说了。我们学习的第一个程序可能就是它们两个。Logging的通用概念Logging拥有通用的概念,在logging中,包含以下几个元素:logger - 产生log...

weixin_31349647的博客 1290

Oracle数据库中的日志记录模式LOGGING、FORCE LOGGING、NOLOGGING

一、日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING) 1.三者的含义 LOGGING:当创建一个数据库对象时将记录日志信息到联机重做日志文件。LOGGING实际上是对象的一个属性,用来表示在创建对象时是否记录REDO日志,包括在做DML时是否记录REDO日志。一般表上不建议使用NOLOGGING,在创建索引或做大量数据导入时,可以使用N...

lin5450lin的博客 1543

logging buffer

学习了这么久的网络,有些词很熟悉,但是就从来没有搞明白它的作用是什么。例如我们经常在设备上配置的logging buffer。logging buffer:直译过来就是“日志缓存”的意思。如下是模拟器设备输出内容:1、如果我们配置了一台设备,开始并没有相关配置,也就是说我们在设备上配置没有日志缓存。例如如下情况:R3#sho logging Syslog logging: e...

weixin_33700350的博客 3265

Python logging模块_logging

(1)常用参数(2)format格式化字符串的字段。

2401_86963496的博客 619

MMENGINE.LOGGING

Print a log message.参数msg (str) – The message to be logged.logger (Logger or str, optional) – If the type of logger islogging.Logger –Some special loggers are:messages. (we directly use logger to log) –Some special loggers are:level (int) – Logging level.

RandyOliver's House 1068

logging模块

日志的五个级别,自下而上: debug-->info-->warning-->error-->critical,默认最低级别为warning级别,对应级别10,20,30,40,50。配置logging模块的顺序:logging模块包含四种角色:logger、Filter、Formatter对象、Handler。

wwwwzm的博客 427
上一篇: SWIG内存管理
下一篇: 控制Log
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值