乙肝病毒乙肝表面抗体定量(HBsAg) 检查结果显示 2823.4 index/ml 会传染老公吗

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
丰衣足食, 积分 672, 距离下一级还需 328 积分
论坛徽章:0
现在我用的版本是1.2.1,希望大家给个指点,怎么用,他那套文档我都看了,感觉对新手没啥用
[ 本帖最后由 astezheng 于
18:21 编辑 ]
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
丰衣足食, 积分 672, 距离下一级还需 328 积分
论坛徽章:0
回复 #1 astezheng 的帖子
我自己顶一下吧
感谢大家的支持,呵呵
丰衣足食, 积分 672, 距离下一级还需 328 积分
论坛徽章:0
我再顶一下
丰衣足食, 积分 672, 距离下一级还需 328 积分
论坛徽章:0
丰衣足食, 积分 672, 距离下一级还需 328 积分
论坛徽章:0
请大家给我一些指点,谢谢
[ 本帖最后由 astezheng 于
12:07 编辑 ]
丰衣足食, 积分 672, 距离下一级还需 328 积分
论坛徽章:0
回复 #5 astezheng 的帖子
我无力的顶贴,呵呵
丰衣足食, 积分 672, 距离下一级还需 328 积分
论坛徽章:0
请大家给帮忙看看,谢谢啊
家境小康, 积分 1902, 距离下一级还需 98 积分
论坛徽章:0
没看明白问题
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处本帖子已过去太久远了,不再提供回复功能。log4c日志库的用法,再封装及其完整例子
第2页_Linux编程_Linux公社-Linux系统门户网站
你好,游客
log4c日志库的用法,再封装及其完整例子
来源:CSDN&
作者:fdl19881
#include &log4c.h&
#include &assert.h&
#include "log.h"
static log4c_category_t *log_category = NULL;
int log_open(constchar *category)
if (log4c_init() == 1)
return -1;
log_category = log4c_category_get(category);
return 0 ;
void log_message(int priority , constchar *fmt , ...)
assert(log_category != NULL);
va_start(ap, fmt);
log4c_category_vlog(log_category , priority , fmt , ap);
va_end(ap);
void log_trace(constchar *file, int line, constchar *fun,
constchar *fmt , ...)
char new_fmt[2048];
constchar *head_fmt = "[file:%s, line:%d, function:%s]";
assert(log_category != NULL);
n = sprintf(new_fmt, head_fmt , file , line , fun);
strcat(new_fmt + n , fmt);
va_start(ap , fmt);
log4c_category_vlog(log_category , LOG4C_PRIORITY_TRACE, new_fmt , ap);
va_end(ap);
int log_close()
return (log4c_fini());
//test-log.c
#include &stdio.h&
#include "log.h"
int main(void)
log_open("smartpipe_log");
LOG_TRACE("trace");
LOG_ERROR("error");
LOG_WARN("warn");
LOG_NOTICE("notice");
LOG_DEBUG("hello log4c!");
log_close();
//配置文件,默认名为log4crc
version="1.0"encoding="ISO-8859-1"
&!DOCTYPE log4c SYSTEM ""
version="1.2.1"
name="root"priority="notice"
name="mycat"priority="debug"appender="stdout"
name="stdout"type="stream"layout="basic"
name="stderr"type="stream"layout="dated"
name="syslog"type="syslog"layout="basic"
name="basic"type="basic"
name="dated"type="dated"
gcc test-log.c log.c -o test-log -llog4c
./test-log
[stdout] TRACE& & mycat - [file:test-log.c, line:7, function:main]trace[stdout] ERROR& & mycat - error[stdout] WARN& &
mycat - warn[stdout] NOTICE&
mycat - notice[stdout] DEBUG& & mycat - hello log4c!
关于log.h ,log.c封装的内容大家可以看看,用到了可变参数宏,可变参数这些。百度一下,就有很多人讲解了。这里就不说了。
log.h与log.c里面用法也很简单
log_open("category_name"); //category_name一定得是log4crc里面已经定义的category.
关于配置文件log4crc
更复杂的配置参见:
配置文件的搜索是由LOG4C_RCPATH环境变量决定。搜索的配置文件名为log4crc(不知道能否改变,没研究过)
配置文件中category的priority不知道是什么意思,,反正好像没什么用。不管设置成什么,好像都不影响。
环境变量:
LOG4C_RCPATH holds the path to the main log4crc configuration file #环境变量若未设置,则在工作目录(一般为运行目录)搜索log4crc配置文件. 如果设置了此变量,则所以用log4c库的程序都会使用此路径下的log4c配置文件(可根据category区分).LOG4C_PRIORITY holds the "root" category priority #改变root的priority,,LOG4C_APPENDER holds the "root" category appender #改变root的appender,,因为root默认没设置appender.
如果有什么问题,可以一起讨论下。若有什么错误,请各位指出。谢谢!2
相关资讯 & & &
& (11/17/:10)
& (02/21/:52)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款log4c日志收集_
log4c日志收集
以下内容已过滤百度推广
日&-&找了多篇文章,发现都讲的不怎么简明。自己摸索了下,记录如下:log4c中有三个重要的概念, category, appender, layout。category用于区分不同的logger, ...&&普通
日&-&本人最近研究了一下开源的日志系统log4c。简单总结一下:一、安装:我看网上好多人介绍log4c安装的时候都说有两个步骤:先下载expat安装包并安装expat,然...&&普通
你可以把log4c看成是log4j的c语言版,该项目已经不再继续开发。... c/c++ 开源软件 ruby 开源软件 python 开源软件 go开源软件 js开源软件 问答 技术问答 技术...&&普通
日&-&log4net库是apache log4j框架在microsoft .net平台的实现,是一个帮助程序员将日志...%level : 表示日志的级别 %logger, %c:表示日志产生的主题,通常是所在的类名...&&普通
最佳答案: 系统:ubuntu12.10 . 准备: 安装log4c库, sudo apt-get install liblog4c-dev liblog4c-doc 别的系统请百度/google找相关编译安装当。log4c:...更多关于log4c日志收集的问题&&&&专业问答网站
日&-&本篇文章是对c++日志系统log4cxx的使用进行了详细的分析介绍,需要的朋友参考下... 本篇文章是对c++日志系统log4cxx的使用进行了详细的分析介绍,需要的...&&普通
zlog是个概念清晰的日志函数库,在效率、功能、安全性上大大超过了log4c,并且是用c写成的,具有比较好的通用性 1.安装 下载 https://github ...&&普通
日&-&下载 & 资源分类 & 开发技术 & c & c语言日志库log4c c语言日志库log4c 上传大小:496kb c下log日志库log4cloglog日志库log4c日志库 所需...&&普通
日&-&本人最近研究了一下开源的日志系统log4c。简单总结一下: 一、安装 我看网上好多人介绍log4c安装的时候都说有两个步骤:先下载expat安装包并安装expat,...&&普通
日&-&[stdout] debug mycat - hello log4c! 讲解: 关于log.h ,log.c封装的内容大家可以看看,用到了可变参数宏,可变参数这些。百度一下,就有很多人讲解了。...&&普通
语义关联近似词猜&正规性45地理位置网址标题|网址|摘要F0略略略略略略略部分匹配1略略略中略略略部分匹配2略略略略略略略精确匹配3略略略中略略略精确匹配4略略略中略略略部分匹配5略略略中略略略部分匹配6略略略中略略略部分匹配7略略略中略略略部分匹配8略略略中略略略部分匹配9略略略中略略略部分匹配10
12时间限制猜&实时动态5相关检索词泛时效性8F1略略略略略略略略1略略略略略略略略2略略略略略略略略3略略略略略略略略4略略略略略略略略5略略略略略略略略6略略略略略略略略7略略略略略略略略8略略略略略略略略9略略略略略略略略10
url2345摘要前标题后标题F2略略略略略略略1略略8略略略略2略略略略略元描述略3略略略略略正文略4略略略略略略略5略略略略略元描述略6略略略略略略略7略略略略略正文略8略略略略略正文略9略略略略略正文略10
123原创猜&网址形式6相关词猜&相似度F3略略略略子页优先级较低略略D1略略略略子页优先级较低略略D2略略略略子页优先级较低略略精确匹配3略略略略主页次优先&|&子页内容充实略略精确匹配4略略略略子页优先级较低略略D5略略略略主页次优先&|&子页内容充实略略D6略略略略主页次优先&|&子页内容充实略略D7略略略略子页优先级较低略略D8略略略略子页优先级较低略略D9略略略略子页优先级较低略略D10log4Net作为专业的log记录控件,对于它的强大功能大家一定不陌生。下面我将详细介绍如何利用其自定义属性,让日志信息更完整。一,创建测试工程,log4Net组件可以自己从网上下载,也可通过Nuget进行安装。
二,创建日志模型及数据库表,因为我们的日志信息可以输出为文本,也可以输出到数据库。三,添加MyLayout,MyPatternConverter类扩展PatternLayout。四,添加Log4Net.config文件,进行输入方式定义。
&?xml version="1.0" encoding="utf-8" ?&&configuration&
&configSections&
&section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/&
&/configSections&
&!-- ConversionPattern 解释
%m(message):输出的日志消息,如ILog.Debug(&)输出的一条消息
%n(new line):換行
%d(datetime):输出当前语句运行的时刻
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
%t(thread id):当前语句所在的线程ID
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN&等
%c(class):当前日志对象的名称
%L:输出语句所在的行号
%F:输出语句所在的文件名
%-数字:表示该项的最小长度,如果不够,则用空格填充
&!--定义输出到控制台命令行中--&
&logger name="myLogger"&
&level value="ALL"/&
&appender-ref ref="ConsoleAppender" /&
&!--定义输出到控制台命令行中--&
&appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"&
&layout type="Log4NetTest.MyLayout"&
&param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p %n用 户 ID:%Property{UserID} %n用户姓名:%Property{UserName} %n日志信息:%Property{Message} %n异常信息:%exception %n%n" /&
&/appender&
&!--定义输出到windows事件中--&
&appender name="WindowsAppender" type="log4net.Appender.EventLogAppender"&
&layout type="Log4NetTest.MyLayout"&
&param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p %n用 户 ID:%Property{UserID} %n用户姓名:%Property{UserName} %n日志信息:%Property{Message} %n异常信息:%exception %n%n" /&
&/appender&
&!--定义输出到文件中--&
&appender name="TextAppender" type="log4net.Appender.RollingFileAppender"&
&param name="File" value="Log\\" /&
&param name="AppendToFile" value="true" /&
&param name="MaxFileSize" value="10240" /&
&param name="MaxSizeRollBackups" value="100" /&
&param name="StaticLogFileName" value="false" /&
&param name="DatePattern" value="yyyyMMdd" /&
&param name="RollingStyle" value="Date" /&
&layout type="Log4NetTest.MyLayout"&
&param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p %n用 户 ID:%Property{UserID} %n用户姓名:%Property{UserName} %n日志信息:%Property{Message} %n异常信息:%exception %n%n" /&
&/appender&
&!--定义输出到数据库--&
&appender name="DataBaseAppender" type="log4net.Appender.AdoNetAppender"&
&!--日志缓存写入条数--&
&bufferSize value="1" /&
&!--日志数据库连接串--&
&connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c" /&
&connectionString value="data source=.\SQL2008;initial catalog=Dintegrated security=persist security info=TUser ID=Password=1qaz" /&
&!--日志数据库脚本--&
&commandText value="INSERT INTO LogInfo ([LogDate],[LogLevel],[UserId],[UserName],[Message],[Exception]) VALUES (@LogDate, @LogLevel,@UserId,@UserName, @Message, @Exception)" /&
&!--日志时间LogDate --&
&parameter&
&parameterName value="@LogDate" /&
&dbType value="String" /&
&size value="30" /&
&layout type="log4net.Layout.PatternLayout"&
&conversionPattern value="%date{yyyy-MM-dd HH:mm:ss}" /&
&/parameter&
&!--日志类型LogLevel --&
&parameter&
&parameterName value="@LogLevel" /&
&dbType value="String" /&
&size value="10" /&
&layout type="log4net.Layout.PatternLayout"&
&conversionPattern value="%level" /&
&/parameter&
&!--自定义UserId --&
&parameter&
&parameterName value="@UserId" /&
&dbType value="String" /&
&size value="20" /&
&layout type="Log4NetTest.MyLayout"&
&conversionPattern value="%Property{UserID}" /&
&/parameter&
&!--自定义UserName --&
&parameter&
&parameterName value="@UserName" /&
&dbType value="String" /&
&size value="50" /&
&layout type="Log4NetTest.MyLayout"&
&conversionPattern value="%Property{UserName}" /&
&/parameter&
&!--自定义Message --&
&parameter&
&parameterName value="@Message" /&
&dbType value="String" /&
&size value="200" /&
&layout type="Log4NetTest.MyLayout"&
&conversionPattern value="%Property{Message}" /&
&/parameter&
&!--异常信息Exception --&
&parameter&
&parameterName value="@Exception" /&
&dbType value="String" /&
&size value="4000" /&
&layout type="log4net.Layout.ExceptionLayout" /&
&/parameter&
&/appender&
&/log4net&&/configuration&五,添加LogHelper.cs类进行各自信息的写入操作。
using Susing System.Dusing System.IO;using System.Windows.Fusing log4[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace Log4NetTest{
public class LogHelper
/// &summary&
/// LoggerName
/// &/summary&
public static string LoggerName = string.E
/// &summary&
/// 用户ID
/// &/summary&
public static string UserID = string.E
/// &summary&
/// 用户名称
/// &/summary&
public static string UserName = string.E
private static ILog iL
private static LogEntity logE
/// &summary&
/// &/summary&
private static ILog log
string path = Application.StartupPath + @"\Log4Net.config";
log4net.Config.XmlConfigurator.Configure(new FileInfo(path));
if (iLog == null)
iLog = log4net.LogManager.GetLogger(LoggerName);
if (iLog.Logger.Name != LoggerName)
iLog = log4net.LogManager.GetLogger(LoggerName);
/// &summary&
/// 构造消息实体
/// &/summary&
/// &param name="message"&&/param&
/// &returns&&/returns&
private static LogEntity BuildMessageMode(string message)
if (logEntity == null)
logEntity = new LogEntity();
logEntity.UserID = UserID;
logEntity.UserName = UserN
logEntity.Message =
logEntity.Message =
return logE
/// &summary&
/// &/summary&
/// &param name="message"&消息&/param&
public static void Debug(string message)
if (log.IsDebugEnabled)
log.Debug(BuildMessageMode(message));
/// &summary&
/// &/summary&
/// &param name="message"&消息&/param&
/// &param name="exception"&异常&/param&
public static void Debug(string message, Exception ex)
if (log.IsDebugEnabled)
log.Debug(BuildMessageMode(message), ex);
/// &summary&
/// &/summary&
/// &param name="message"&消息&/param&
public static void Info(string message)
if (log.IsInfoEnabled)
(BuildMessageMode(message));
/// &summary&
/// &/summary&
/// &param name="message"&消息&/param&
/// &param name="exception"&异常&/param&
public static void Info(string message, Exception ex)
if (log.IsInfoEnabled)
(BuildMessageMode(message), ex);
/// &summary&
/// 一般错误
/// &/summary&
/// &param name="message"&消息&/param&
public static void Error(string message)
if (log.IsErrorEnabled)
log.Error(BuildMessageMode(message));
/// &summary&
/// 一般错误
/// &/summary&
/// &param name="message"&消息&/param&
/// &param name="exception"&异常&/param&
public static void Error(string message, Exception exception)
if (log.IsErrorEnabled)
log.Error(BuildMessageMode(message), exception);
/// &summary&
/// &/summary&
/// &param name="message"&消息&/param&
public static void Warn(string message)
if (log.IsWarnEnabled)
log.Warn(BuildMessageMode(message));
/// &summary&
/// &/summary&
/// &param name="message"&消息&/param&
/// &param name="exception"&异常&/param&
public static void Warn(string message, Exception ex)
if (log.IsWarnEnabled)
log.Warn(BuildMessageMode(message), ex);
/// &summary&
/// &/summary&
/// &param name="message"&消息&/param&
public static void Fatal(string message)
if (log.IsFatalEnabled)
log.Fatal(BuildMessageMode(message));
/// &summary&
/// &/summary&
/// &param name="message"&消息&/param&
/// &param name="exception"&异常&/param&
public static void Fatal(string message, Exception ex)
if (log.IsFatalEnabled)
log.Fatal(BuildMessageMode(message), ex);
}}六,进行日志效果测试,只要通过修改Log4Net.config,就可实现各种方式的输入。
输出到控制台:
&logger name="myLogger"&
&level value="ALL"/&
&appender-ref ref="ConsoleAppender" /&
输出到文件:
&logger name="myLogger"&
&level value="ALL"/&
&appender-ref ref="TextAppender" /&
输出到数据库:&logger name="myLogger"&&level value="ALL"/&&appender-ref ref="DataBaseAppender" /&&/logger&
阅读(...) 评论()}

我要回帖

更多关于 乙肝表面抗体阳性 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信