info

12-ChannelHandler实现

江枫思渺然 提交于 2019-12-10 06:34:08
文章目录 ChannelHandler实现 一、SimpleChannelInboundHandler 二、MessageToByteEncoder 三、LoggingHandler 四、小结 ChannelHandler实现 前面一篇文章介绍了ChannelHandler接口的继承体系,本文选择几个典型的ChannelHandler看一看源码 下面是继承体系图,选取的的最底部的实现类,有些是抽象类 MessageToByteEncoder:编码消息 ( Message - > ByteBuf ) ByteToMessageDecoder:解码消息 ( ByteBuf - > Message ) 一、SimpleChannelInboundHandler 我们分析一下抽象类SimpleChannelInboundHandler,看是如何使用ChannelHandler。 SimpleChannelInboundHandler是抽象类,是可以处理指定类型消息的处理器,我们可以实现SimpleChannelInboundHandler后,实现对指定类型的消息的自定义处理。 /** * {@link ChannelInboundHandlerAdapter} which allows to explicit only handle a specific type of messages.

python-logging模块,程序日志模板

纵然是瞬间 提交于 2019-12-10 05:14:56
1.logging模块 用于程序的运行日志 1.初级 #首先程序运行分会出现5中情况 1.logging.debug('debug') #程序调试级别为10 2.logging.info('info') #程序调正常运行别为20 3.logging.warning('warning') #程序运行出现警告级别为30 4.logging.error('error') #程序运行出现报错级别为40 5.logging.critica('critica') #程序运行出现程序崩溃级别为50 推荐Python大牛在线分享技术 扣qun:855408893 领域:web开发,爬虫,数据分析,数据挖掘,人工智能 2.完善他终端显示 1.用logging.basicConfig()配置文件来完成 import logging logging.basicConfig(filename='access.log', format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', level=10) #level 最低级别 #datefmt 时间格式 #format 日志内文本格式 #filename 保存文件名 logging.info('info')

Andriod APP自动安装脚本:Appium+Python

…衆ロ難τιáo~ 提交于 2019-12-10 02:50:09
Andriod APP自动安装脚本:Appium+Python 这篇,我们开始来一个实战练习,如何通过appium自动把电脑上一个安卓程序包给安装到一台Andriod手机或者Andriod模拟器中。 一、自动化安装apk包到手机脚本: import os from appium import webdriver # apk_path = os.path.abspath(os.path.join(os.path.dirname(__file__),"..")) #获取当前项目的根路径 desired_caps ={} desired_caps['platformName'] = 'Android' #设备系统 desired_caps['platformVersion'] = '5.1.1' #设备系统版本 desired_caps['deviceName'] = 'HUAWEI MLA-AL10' #设备名称 # 测试apk包的路径 #desired_caps['app'] = apk_path + '\\app\\shoujibaidu.apk' desired_caps['app'] = 'C:\\Users\Administrator\\Desktop\\test201911251100_4.6.1(361)_461_jiagu_sign.apk' #driver =

MXnet的使用

試著忘記壹切 提交于 2019-12-10 02:36:08
关于MXnet的介绍: MXNet: A flexible and efficient library for deep learning. 这是MXNet的 官网 介绍,“MXNet是灵活且高效的深度学习库”。 MXNet是主流的三大深度学习框架之一: TensorFlow :Google支持,其简化版是 Keras ; PyTorch :Facebook支持,其工业版是 Caffe2 ; MXNet:中立,Apache孵化器项目,也被AWS选为官方DL平台; MXNet的优势是,其开发者之一李沐,是中国人,在MXNet的推广中具有语言优势(汉语),有利于国内开发者的学习。同时,推荐李沐录制的 教学视频 ,非常不错。 MXNet的高层接口是Gluon,Gluon同时支持灵活的动态图和高效的静态图,既保留动态图的易用性,也具有静态图的高性能,这也是官网介绍的flexible和efficient的出处。同时,MXNet还具备大量学术界的前沿算法,方便移植至工业界。希望MXNet团队再接再励,在深度学习框架的竞赛中,位于前列。 我是在Ubuntu18.04里面安装的 安装步骤: 1、安装Python sudo apt-get install python 2、安装Git sudo apt-get install git 3、安装依赖包 sudo apt-get install -y

golang seelog使用

好久不见. 提交于 2019-12-10 01:43:44
golang中自带的有log包,但是功能并不能满足我们。很多人推荐seelog,我们今天一起学习下。 安装 go get github.com/cihub/seelog 快速开始 引用seelog wiki上的代码 123456 package mainimport log "github.com/cihub/seelog"func () { defer log.Flush() log.Info("Hello from Seelog!")} 这样就能在控制面板打印了,但是它是那么的丑陋!这里Info方法代表的是日志的级别,常用的有Trace, Debug, Info, Warn, Error, Critical 方法。 我们一般都会自定义格式等,seelog为我们提供了xml和代码两种方式来配置。 先看最简单的xml配置使用方法 12345 <seelog> <outputs> <console /> </outputs></seelog> 在代码中读取配置文档 1234567 logger, err := seelog.LoggerFromConfigAsFile("./config/seelog.xml")if err != nil { log.Fatal(err)}seelog.ReplaceLogger(logger)defer seelog.Flush()seelog

Load HDFS数据到Hive出现Shell错误

匆匆过客 提交于 2019-12-10 01:20:13
写shell脚本 从HDFS导数到Hive,报错如下: mismatched input '<EOF>' expecting DATA near 'load' in load statement shell代码如下: #!/bin/bash do_date=$1 APP=gmall hive=/opt/module/hive/bin/hive sql=" load data inpath '/origin_data/$APP/db/user_info/$do_date' OVERWRITE into table $APP.ods_user_info partition(dt='$do_date'); " $hive -e $sql 出错的原因是最后一个$sql需要加双引号"",否则后面无法将$sql解析成的值( /origin_data/gmall/db/user_info/2019-12-08 OVERWRITE into table gmall.ods_user_info partition(dt='2019-12-08') )识别为字符串 改为 $hive -e " $sql"。 注意shell中单引号和双引号的区别:!!! 单引号:输出时会将引号内的内容原样输出。 双引号:会先把变量、命令、转义字符解析出结果,即使双引号里有单引号引起来的变量,也会把变量解析成值

Tomcat7+ 启动慢的问题解决

我们两清 提交于 2019-12-10 00:29:01
Tomcat 7+严重依赖SecureRandom这个类为它的session id或其它地方取得随机数值,这取决于你的JRE,它有可能在tomcat启动时造成非常大的耗时,比如,在子猴启动tomcat-7.0.26的时候,它耗时近25秒! INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [24,790] milliseconds. 要解决这个问题,可以通过配置JRE使用非阻塞的Entropy Source,在bin/catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。 加入后我再启动tomcat,整个启动下降到仅耗时Server startup in 912 ms. 参见: http://wiki.apache.org/tomcat/HowTo/FasterStartUp 来源: oschina 链接: https://my.oschina.net/u/71344/blog/142664

Linux系统中日志级别详情

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-10 00:23:30
日志信息分类 1.等级由低到高:debug<info<warn<Error<Fatal; 2.区别: debug 级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系统运行状态的东东; info 重要,输出信息:用来反馈系统的当前状态给最终用户的; 后三个,警告、错误、严重错误,这三者应该都在系统运行时检测到了一个不正常的状态。 warn, 可修复,系统可继续运行下去; Error, 可修复性,但无法确定系统会正常的工作下去; Fatal, 相当严重,可以肯定这种错误已经无法修复,并且如果系统继续运行下去的话后果严重。 3.使用 什么时候使用 info, warn , error ? info 用于打印程序应该出现的正常状态信息, 便于追踪定位; warn 表明系统出现轻微的不合理但不影响运行和使用; error 表明出现了系统错误和异常,无法正常完成目标操作。 4.格式 总结起来, 错误日志格式可以为: log.error(“[接口名或操作名] [Some Error Msg] happens. [params] [Probably Because]. [Probably need to do].”); log.error(String.format(“[接口名或操作名] [Some Error Msg] happens. [%s]. [Probably Because

ROS中的日志(log)消息

懵懂的女人 提交于 2019-12-10 00:10:38
学会使用日志(log)系统,做ROS大型项目的主治医生 通过显示进程的运行状态是好的习惯,但需要确定这样做不会影响到软件的运行效率和输出的清晰度。ROS 日志 (log) 系统的功能就是让进程生成一些日志消息,显示在屏幕上、发送到特定 topic 或者储存在特定 log 文档中,以方便调试、记录、报警等。下面简单介绍如何生成和查看日志消息。 日志消息 在ROS中,有一个特殊的话题叫作/rosout,它承载着所有节点的所有日志消息。/rosout消息的类型是rosgraph_msgs/Log: rosgraph_msgs/Log消息用来让各个节点发布日志消息,这样一来就能让网络上的任何一个人都看到。可以认为/rosout是一个加强版的print():他不是向终端输出字符串,可以将字符串和元数据放到一个消息中,发送到网络上的任何一个人。ROS节点应该向/rosout发布日志消息,这样一来这些消息就能被所有人看到。rospy客户端提供了多个函数来发布rosgraph_msgs/Log消息: 12 if battery_voltage < 11.0:rospy.logwarn('Battery voltage low: %f'%(battery_voltage)) rospy.logwarn()函数实现了三件事请: 输出一个格式化的字符串到终端 输出更详细的警告到日志文档中,这个文档一般在

HBase(2) Java 操作 HBase 教程

别等时光非礼了梦想. 提交于 2019-12-09 23:20:58
目录 一、简介 二、hbase-client 引入 三、连接操作 四、表操作 五、运行测试 FAQ 参考文档 一、简介 在上一篇文章 HBase 基础入门 中,我们已经介绍了 HBase 的一些基本概念,以及如何安装使用的方法。 那么,作为一名 Javaer,自然是希望用 Java 的方式来与 HBase 进行对话了。 所幸的是,HBase 本身就是用 Java 编写的,天生自带了 Java 原生API。 我们可以通过 hbase-client 来实现 HBase 数据库的操作。 所以,这次主要介绍该组件的基本用法。 在使用 hbase-client 之前,有几个要点需要注意: 客户端需要能访问 Zoopkeeper,再获得 HMaster、RegionServer 实例进行操作 客户端需运行在HBase/Hadoop 集群内,HBase会使用 hostname 来定位节点,因此要求客户端能访问到对应的主机名(或子域名) 如果是远程客户端则需要配置本地的hosts文件。 下面这个图,有助于理解 Client 与 HBase 集群的交互架构: 下面开始介绍 client 的使用。 二、hbase-client 引入 在 Maven 的 pom.xml 中添加依赖: <dependency> <groupId>org.apache.hbase</groupId> <artifactId