喵宅苑 MewoGarden × 技术宅社区II | Z站 Z Station 棒棒哒纯文字二次元技术社区

正文

程序设计语言

作者:系统
{"name":"程序设计语言","sizeType":1,"icon":"","order":9999}

回复

300英雄盒子-冰尘团队招募

作者:aiyahacke
[i=s] 本帖最后由 aiyahacke 于 2014-11-24 20:24 编辑 300英雄盒子-冰尘团队招募 300英雄全球首款动漫MOBA,现冰尘团队招募盒子开发者,愿与我们一起练练手的话,欢迎加入! 盒子主要为易语言+PHP开发, 现在主要缺少 网页前端,PHP以及美工,会任意语言都可以加入团队交流, 官方论坛:http://box.300hero.net 联系扣扣:1065380934 上截图: 300英雄盒子mini [attach]367370[/attach] 300英雄盒子 [attach]367371[/attach]
查看回复

c++相关书籍教程整理[1GB]【pfd格式】

作者:超百合子
自己花时间整理的资源,喜欢的拿走吧。 [attach]317814[/attach] [attach]317815[/attach] [attach]317816[/attach] [attach]317817[/attach] [attach]317818[/attach] 【本内容已隐藏,回复后刷新可见哦】
查看回复

关于vs2012 c#和matlab混合编程的方法求指导

作者:feizhai
正在参加一个一个项目,关于接收激光光斑和测量激光高斯参数的软件制作。软件对测量系统的操作就没什么的,关键在于光斑信息的接收和画图的问题。 现在信息接收已经基本行得通,关键在光斑显示和画函数图象上,据说c#可以和matlab混合编程,希望能通过用matlab显示光斑和画函数图象,不知有哪位大大有什么这方面的资料
查看回复

C++程序设计 谭浩强 清大出版 课件:南京理工大学

作者:大东方
[i=s] 本帖最后由 大东方 于 2013-11-18 10:15 编辑 [postbg]bg9.png[/postbg] [free] 权威教材,课件。轻松掌握C++[/free] [hide=d500]http://yunpan.cn/Q9Tw5UsXy9iAZ[/hide]
查看回复

jsp中hibernate,关联关系的东东,求大神君

作者:灌水菊花
[attach]388501[/attach] 如图,这个是一个用户部门的一个关联关系,当我更新我的部门信息的时候,它会更新我的员工信息,并且那个dept(这个相当于dept_id)设置为空,是什么原因!我已经有解决方法!但是我就不知道为什么他会更新那个dept并且设置为空值! 卤煮的猜想是否部门更新了,hibernate就以为它是一个新的数据(部门),即这个部门没有跟其他员工进行关联,所以它就用update语句把原先员工属于这个部门的记录给置空!*1* 悲催!!!*69*
查看回复

Dango网创业团队募集启示

作者:沙夜
[i=s] 本帖最后由 沙夜 于 2014-7-1 22:48 编辑
借贵地发一下招聘,恳请各路豪杰出手相助 +293+ 由于我们是创业团队,所以还是缺少各方面的人才,因此(找稿子)+150+:
网站调教师(网站开发工程师,网站技术开发、维护人员)
专业需求
1、熟悉运用网页设计软件Photoshop\Dreamweaver\Fireworks\Flash\HTML语言等,能够参与进行网站系统开发和二次开发(不要求独立完成)
2、网站的功能有较强的理解、开发能力,较强的数据库设计、开发能力,较好的运用ASPphp.net、JavaScriptCSS等技术,完整、独立地开发和维护公司网站。
岗位职责
1、负责网站系统开发和二次开发,能够单独的完成网站部分功能的制作和调试;
2、监管网站信息安全,独立维护网站日常运营;
3、与平面设计师合力完成执行网页布局的工作,执行程序的调试和运用募集范围
1、皆为已毕业或临近毕业的应届生,专业不限,学历不限,性别不限;
2、对二次元,对动漫深深的爱,有着想分享快乐,喜悦,想让动漫产业更蓬勃发展的美好愿景;
3、有着创业的决心和吃苦受伤的觉悟,最后还有能够坚持信念的毅力。
诶要求就是这样(棒读)+302+ 那么接下来来介绍一下我们网站的性质(换稿子)。+74+ 我们网站的主旨是面基与合技(即是技能合作),即是让志同道合的人聚集在一起为目的的一个网站。 而面基的契机,可能是因为BOSS太鬼畜单刷不了,需要面联协力攻破; 可能是自己一人没有动力去当地的动漫展会,需要好基/姬友; 可能是因为一个人出COS太寂寞,想和同好出一个系列的COS作品集; 又或者,仅仅是因为彼此的话题互相吸引,性格相近促使你们产生了想线下见面的念头。 +317+撒,来面基! 那么假如是对职位有兴趣,或者是想更多的了解我们的网站,请看看以下的联系方式: σ゜∀゜)σ QQ:117405934 新浪微博:@Dango网团娘1号姬 (http://weibo.com/u/3873875774
查看回复

为了体现自己是个技术宅,遂怒发一帖

作者:奔波霸儿~
最近在学javascript,尼玛写得我头都晕了。有没有大神交流一下啊!8! 下面附上几张去年做的纯手写的静态网页! [attach]294525[/attach][attach]294522[/attach][attach]294523[/attach][attach]294524[/attach] 最近用脚本动态添加标签。。。 [attach]294527[/attach][attach]294528[/attach]
查看回复

log4j.properties全配置

作者:掀起文艺复兴
###############################log4j.properties############################### ##### Global Log Level(OFF,FATAL,ERROR,WARN,INFO,DEBUG,ALL) ############# log4j.rootLogger=DEBUG,STDOUT,DB ###### STDOUT Logger ############### log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender #输出目的Appender的日志级别,Appender的级别设置要优先于logger的 #级别设置,即先使用Appender的,而不管logger的日志级别是怎样设置的 log4j.appender.STDOUT.Threshold=DEBUG log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout log4j.appender.STDOUT.layout.ConversionPattern=[%p] [%l] %10.10c - %m%n ###### File Logger ############### #开发时,使用DEBUG,发布时最好修改成INFO,如果未设置级别,则使用 #父日志记录器的,设置了就使用logger的,不管父日志怎样设置 log4j.logger.com.mypakge=DEBUG,FILELOGER #开发时设为true,表示需要屏幕输出,发布时这里最好设置为false,表示不继承父日志记录器的Appender log4j.additivity.com.mypakge=true log4j.appender.FILELOGER=org.apache.log4j.RollingFileAppender #设置日志输出编码方式为UTF-8,如果不指定,会以当前运行操作系统的编码方式记录,这样在有的Linux上会出面乱码 log4j.appender.FILELOGER.encoding=UTF-8 #${LOGS_PATH}为JVM环境变量,我们可以在运行里给JVM加上该参数 -DLOGS_PATH=e:/tmp/log log4j.appender.FILELOGER.File=${LOGS_PATH}/system.log log4j.appender.FILELOGER.MaxFileSize=1024KB log4j.appender.FILELOGER.MaxBackupIndex=10 #文件采用追加方式 log4j.appender.FILELOGER.Append=true log4j.appender.FILELOGER.layout=org.apache.log4j.PatternLayout log4j.appender.FILELOGER.layout.ConversionPattern=[%d{yyy-MM-dd HH:mm:ss.SSS}] [%p] [%t] [%c] [%l] - [%m]%n ###### THREAD Logger ############### #线程日志一般记入到另一个文件,线程日志与主线程日志基本上没有什么逻辑关系 log4j.logger.threadlogger=DEBUG,THREADLOGER log4j.additivity.threadlogger=true log4j.appender.THREADLOGER=org.apache.log4j.RollingFileAppender log4j.appender.THREADLOGER.encoding=UTF-8 log4j.appender.THREADLOGER.File=${LOGS_PATH}/threadLog.log log4j.appender.THREADLOGER.MaxFileSize=2000KB log4j.appender.THREADLOGER.MaxBackupIndex=10 log4j.appender.THREADLOGER.layout=org.apache.log4j.PatternLayout log4j.appender.THREADLOGER.layout.ConversionPattern=[%d{yyy-MM-dd HH:mm:ss.SSS}] [%p] [%t] [%c] [%l] - [%m]%n ###### SOCKET Logger ############### log4j.addivity.org.apache=true log4j.appender.SOCKET=org.apache.log4j.net.SocketAppender #注,SocketAppender没有encoding属性,而接收日志的服务器端类org.apache.log4j.net.Socke #tServer也不能设置编码方式,这里在考虑他们在通信时是不是传递的对象,而不是传递的字符串呢? #log4j.appender.SOCKET.encoding=UTF-8 log4j.appender.SOCKET.RemoteHost=localhost log4j.appender.SOCKET.Port=8089 log4j.appender.SOCKET.LocationInfo=true log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout #这里的格式配置不是很中要,好像不是要所这里的格式要输出那些消息,这里还是这个疑问就是在通信时是否是 #传递的是序列化后的对象?因为服务器接收到消息后能以任何格式输出,可见传递的信息是完整的。~@!@#!哈 #刚跟了一下org.apache.log4j.net.SocketAppender源码,在获取输出流的时候使用的是对象流,如下: #oos = new ObjectOutputStream(socket.getOutputStream());,这样就进一步证了我的想法,在 #通信时时传递的是对象,所以就不存在字符编码的问题与客户端日志格式输出问题。 log4j.appender.SOCKET.layout.ConversionPattern=%m ###### MAIL Logger ############### log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender log4j.appender.MAIL.Threshold=ERROR log4j.appender.MAIL.BufferSize=10 log4j.appender.MAIL.From=junJZ_2008@126.com log4j.appender.MAIL.SMTPHost=smtp.126.com #如果含有中文,则需使用native2asii log4j.properties log4jxx.properties 进行转换,否则乱码 log4j.appender.MAIL.Subject=Log4J\u63D0\u9192\u60A8\uFF1A\u7CFB\u7EDF\u53D1\u751F\u4E86\u4E25\u91CD\u9519\u8BEF log4j.appender.MAIL.To=junJZ_2008@163.com log4j.appender.MAIL.SMTPUsername=junJZ_2008@126.com log4j.appender.MAIL.SMTPPassword=XXX log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n ###### DB Logger ############### log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender log4j.appender.DB.driver=com.mysql.jdbc.Driver log4j.appender.DB.URL=jdbc:mysql://127.0.0.1/test log4j.appender.DB.bufferSize=1 log4j.appender.DB.user=root log4j.appender.DB.password=111111 log4j.appender.DB.sql=insert into oplog (UserName,opttype,createTime,LogLevel,methodinfo,MSG) values ('%X{UserName}','%X{opttype}','%d{yyyy-MM-dd HH:mm:ss.SSS}','%p','%l','%m') log4j.appender.DB.layout=org.apache.log4j.PatternLayout
配置日志服务器
日志服务器的服务器端由以下类启动: log4j jar包中的org.apache.log4j.net.SocketServer 三个参数 【监听端口】【日志服务器配置文件】【客户端配置文件目录】 第三个参数【配置文件目录】其实指的是针对每个客户端的配置文件,名命规则为 "客户端IP.lcf"
基本原理
当日志保存请求发过来时,服务器会根据客户端的IP去在指定的目录(上面第三个参数)下搜索各自的配置文件,如果没有找到的话,再找是否配置了公用的客户端日志配置文件 generic.lcf,如果也没有配置的话,它将日志与服务器运行日志记录在同一文件中(这里为server.log),如果找到了,会把收到的日志按照配置文件要求记录,我在这 里使用的客户端配置文件与log4j.properties是一样的,所以这里会产生与客户机保存的日志是一样的。
在运行前还得要修改一下 org.apache.log4j.net.SocketServer 这个类,这个类在取客户端时有问题,网上其他人也这么认为(我使用的是1.215版本),找到 String key = s.substring(0, i); 这一行,修改成 String key = s.substring(i + 1); 即可,然后把修改好的class放入log4j-1.2.15.jar包中(后面附上修改好的包)。
socketserver.properties
#文件名socketserver.properties #如果需要显示日志界面,可以将本行启用 log4j.rootCategory=, A1 log4j.rootLogger=DEBUG,A3,STDOUT log4j.category.org.apache.log4j.net=INFO log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout log4j.appender.STDOUT.layout.ConversionPattern=[%p] [%l] %10.10c - %m%n log4j.appender.A1=org.apache.log4j.lf5.LF5Appender log4j.appender.A1.MaxNumberOfRecords=700 log4j.appender.A3=org.apache.log4j.RollingFileAppender log4j.appender.A3.file=${LOGS_PATH}/server.log log4j.appender.A3.MaxFileSize=1024KB log4j.appender.A3.MaxBackupIndex=10 log4j.appender.A3.layout=org.apache.log4j.PatternLayout log4j.appender.A3.layout.ConversionPattern=\n\n[%-5p] %d{yyyy-MM-dd HH\:mm\:ss,SSS} method\:%l%n%m%n
客户端配置文件 127.0.0.1.lcf
###############################log4j.properties############################### ##### Global Log Level(OFF,FATAL,ERROR,WARN,INFO,DEBUG,ALL) ############# log4j.rootLogger=DEBUG,FILELOGER ###### File Logger ############### #开发时,使用DEBUG,发布时最好修改成INFO,如果未设置级别,则使用 #父日志记录器的,设置了就使用logger的,不管父日志怎样设置 log4j.logger.com.mypakge=DEBUG,FILELOGER #开发时设为true,表示需要屏幕输出,发布时这里最好设置为false,表示不继承父日志记录器的Appender log4j.additivity.com.mypakge=true log4j.appender.FILELOGER=org.apache.log4j.RollingFileAppender #设置日志输出编码方式为UTF-8,如果不指定,会以当前运行操作系统的编码方式记录,这样在有的Linux上会出面乱码 log4j.appender.FILELOGER.encoding=UTF-8 #${LOGS_PATH}为JVM环境变量,我们可以在运行里给JVM加上该参数 -DLOGS_PATH=e:/tmp/log log4j.appender.FILELOGER.File=${LOGS_PATH}/client.log log4j.appender.FILELOGER.MaxFileSize=1024KB log4j.appender.FILELOGER.MaxBackupIndex=10 #文件采用追加方式 log4j.appender.FILELOGER.Append=true log4j.appender.FILELOGER.layout=org.apache.log4j.PatternLayout log4j.appender.FILELOGER.layout.ConversionPattern=[%d{yyy-MM-dd HH:mm:ss.SSS}] [%p] [%t] [%c] [%l] - [%m]%n
启动:
java -classpath log4j-1.2.15.jar -DLOGS_PATH=e:/tmp/sverlog o rg.apache.log4j.net.SocketServer 8089 socketserver.properties .
现在使用一个测试类记录日志时,它会往日志服务器发送日志事件,服务器会根据服务器端配置的客户端配置文件记录日志。
配置邮件日志
由于刚开始使用1.2.9版本的包时 org.apache.log4j.net.SMTPAppender 发送邮件时不支持用户鉴权操作,而有的邮件服务器在发送时需要先登录后再发送,所以换用了1.2.15的包,SMTPAppender类支持SMTPUsername与SMTPPassword两个鉴权参数,这样就可以发送日志邮件了,具体配置参见文章开头。
配置数据库日志
创建表:
create table oplog( UserName varchar(20), opttype varchar(20), createTime varchar(30), LogLevel varchar(20), methodinfo varchar(100), MSG varchar(1024), primary key (createTime) )
表中的 UserName 与 opttype 表示用户名与操作类型,插入数据时使用 MDC 类进行预先设置,且配置文件中使用 %x{XXX} 来引用, MDC其实就是Java里的ThreadLocal类的派生类。
测试代码:
Java代码
  • import org.apache.commons.logging.Log;
  • import org.apache.commons.logging.LogFactory;
  • import org.apache.log4j.MDC;
  • public class TestLog {
  • private static Log log = LogFactory.getLog(TestLog.class);
  • public void log() {
  • log.debug("Debug info.");
  • log.info("Info info");
  • log.warn("Warn info");
  • log.error("Error info");
  • log.fatal("Fatal info");
  • }
  • public static void main(String[] args) {
  • MDC.put("UserName", "jzj");
  • MDC.put("opttype", "delete");
  • TestLog test = new TestLog();
  • test.log();
  • }
  • }
查看回复
上一页
下一页
0%
站点地图友情链接:
喵宅苑
喵空间社区程序
喵宅苑 静态版
宅喵RPG地图编辑器
络合兔
Lanzainc
技术宅
小五四博客
莉可POI
Mithril.js
枫の主题社
Project1
午后少年
机智库
七濑胡桃
xiuno
幻想の日常
魂研社
Nothentai
0xffff
欲望之花
泽泽社长
淀粉月刊
HAYOU