??xml version="1.0" encoding="utf-8" standalone="yes"?>
1 0x0001不正的函数?
2 0x0002pȝ找不到指定的案?
3 0x0003pȝ找不到指定的路径?
4 0x0004pȝ无法开启案?
5 0x0005拒绝存取?
6 0x0006无效的代码?
7 0x0007储存体控制区块已毁?
8 0x0008储存体空间不I无法处理q个指o?
9 0x0009储存体控制区块位址无效?
10 0x000A环境不正?
11 0x000B试载入一个格式错误的E式?
12 0x000C存取码错误?
13 0x000D资料错误?
14 0x000E储存体空间不够,无法完成q项作业?
15 0x000Fpȝ找不到指定的碟机?
16 0x0010无法U除目录?
17 0x0011pȝ无法案移?其他的磁机?
18 0x0012没有M档案?
19 0x0013储存媒体为防写状态?
20 0x0014pȝ找不到指定的装置?
21 0x0015装置未qA?
22 0x0016装置无法识别指o?
23 0x0017资料错误 (cyclic redundancy check)
24 0x0018E式发出一个长 度错误的指o?
25 0x0019碟机在碟找不?持定的磁区或轨?
26 0x001A指定的磁或片无法存取?
27 0x001B碟机找不到要求的磁区?
28 0x001C印表机没有纸?
29 0x001Dpȝ无法资料写入指定的碟机?
30 0x001Epȝ无法d指定的装|?
31 0x001Fq接到系l的某个装置没有作用?
32 0x0020 The process cannot access the file because it is being used by another process.
33 0x0021档案的一部䆾被锁定,现在无法存取?
34 0x0022碟机的片不正?请将 %2 (Volume Serial Number: %3) 插入???1?
36 0x0024开启的分n案数量太多?
38 0x0026到达案l尾?
39 0x0027碟已满?
50 0x0032不支援这U网路要求?
51 0x0033q端电脑无法使用?
52 0x0034|\名称重复?
53 0x0035|\路径找不到?
54 0x0036|\忙碌中?
55 0x0037 The specified network resource or device is no longer available.
56 0x0038 The network BIOS command limit has been reached.
57 0x0039|\配接卡发生问题?
58 0x003A指定的伺服器无法执行要求的作业?
59 0x003B|\发生意外错误?
60 0x003Cq端配接卡不相容?
61 0x003D印表ZO列已满?
62 0x003E伺服器的I间无法储存{候列印的档案?
63 0x003F{候列印的案已经删除?
64 0x0040指定的网路名U无法用?
65 0x0041拒绝存取|\?
66 0x0042|\资源cd错误?
67 0x0043|\名称找不到?
68 0x0044过区域电脑|\配接卡的名称限制?
69 0x0045过|\BIOS作业阶段的限制?
70 0x0046q端伺服器已l暂停或者正在v始中?
71 0x0047由於q线数目已达上限Q此时无法再q线到这台远端电脑?
72 0x0048指定的印表机或磁装|已l暂停作用?
80 0x0050案已经存在?
82 0x0052无法建立目录或案?
83 0x0053 INT 24 p|
84 0x0054处理q项要求的储存体无法使用?
85 0x0055q端装置名称已经在用中?
86 0x0056指定的网路密码错误?
87 0x0057叁数错误?
88 0x0058|\发生资料写入错误?
89 0x0059此时pȝ无法执行其他行程?
100 0x0064无法建立其他的系lsemaphore?
101 0x0065属於其他行程专用的semaphore ?
102 0x0066 semaphore已经讑֮Q而且无法关闭?
103 0x0067无法指定semaphore ?
104 0x0068在岔断时间无法要求专用的semaphore ?
105 0x0069此semaphore先前的拥有权已经l束?
106 0x006A请将片插入 %1?
107 0x006B因ؓ代用的磁片尚未插入,所以程式已l停止?
108 0x006C碟正在使用中或被锁定?
109 0x006D Pipe已经中止?
110 0x006Epȝ无法开启指定的 装置或案?
111 0x006F档名太长?
112 0x0070碟I间不?
113 0x0071没有可用的内部案识别字?
114 0x0072目标内部案识别字不正确?
117 0x0075由应用程式所执行的IOCTL呼叫 不正?
118 0x0076写入验证叁数g正确?
119 0x0077pȝ不支援所要求的指令?
120 0x0078此项功能仅在Win32模式有效?
121 0x0079 semaphore过逾时期间?
122 0x007A传到pȝ呼叫的资料区?太小?
123 0x007B档名、目录名U或储存体标{语法错误?
124 0x007Cpȝ呼叫层次不正?
125 0x007D碟没有讑֮标签?
126 0x007E找不到指定的模组?
127 0x007F找不到指定的E序?
128 0x0080没有子行E可供等待?
129 0x0081 %1q个应用E式无法在Win32模式下执行?
130 0x0082 Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O.
131 0x0083试案指标移x案开头之前?
132 0x0084无法在指定的装置或档案,讑֮案指标?
133 0x0085 JOIN或SUBST指o 无法用於 内含事先l合q的碟机?
134 0x0086试在已l结合的碟机,使用JOIN或SUBST指o?
135 0x0087试在已l替换的碟机,?用JOIN或SUBST指o?
136 0x0088pȝ试删除 未连l过的磁机的连l关pR?
137 0x0089pȝ试删除 未替换过的磁机的替换关pR?
138 0x008Apȝ试磁机l合到已l结合过之磁机的目录?
139 0x008Bpȝ试磁机替换成已l替换过之磁机的目录?
140 0x008Cpȝ试磁机替换成已l替换过之磁机的目录?
141 0x00pȝ试磁机SUBST成已l合的磁机 目录?
142 0x008Epȝ此刻无法执行JOIN或SUBST?
143 0x008Fpȝ无法磁机l合或替换同一碟Z目录?
144 0x0090q个目录不是根目录的子目录?
145 0x0091目录仍有资料?
146 0x0092指定的\径已l被替换q?
147 0x0093资源不Q无法处理这?指o?
148 0x0094指定的\径这时候无法用?
149 0x0095试要结合或替换的磁机目录Q是已经替换q的的目标?
150 0x0096 CONFIG.SYS未指定pȝq踪资讯Q或是追t功能被取消?
151 0x0097指定的semaphore事gDosMuxSemWait数目不正?
152 0x0098 DosMuxSemWait没有执行Q设定太多的semaphore?
153 0x0099 DosMuxSemWait清单不正?
154 0x009A您所输入的储存媒体标 元长度限制?
155 0x009B无法建立其他的执行A?
156 0x009C接收行程拒绝接受信号?
157 0x009D区段已经被舍弃,无法被锁定?
158 0x009E区段已经解除锁定?
159 0x009F执行l识别码的位址不正?
160 0x00A0传到DosExecPgm的引数字串不正确?
161 0x00A1指定的\径不正确?
162 0x00A2信号{候处理?
164 0x00A4pȝ无法建立执行l?
167 0x00A7无法锁定案的部份范围?
170 0x00AA所要求的资源正在用中?
173 0x00AD取消范围的锁定要求不明显?
174 0x00AE档案pȝ不支援自动变更锁定类型?
180 0x00B4pȝ发现不正的区段L?
182 0x00B6作业pȝ无法执行 %1?
183 0x00B7案已存在,无法建立同一案?
186 0x00BA传送的旗号错误?
187 0x00BB指定的系l旗h不到?
188 0x00BC作业pȝ无法执行 %1?
189 0x00BD作业pȝ无法执行 %1?
190 0x00BE作业pȝ无法执行 %1?
191 0x00BF无法在Win32模式下执?%1?
192 0x00C0作业pȝ无法执行 %1?
193 0x00C1 %1不是正确的Win32应用E式?
194 0x00C2作业pȝ无法执行 %1?
195 0x00C3作业pȝ无法执行 %1?
196 0x00C4作业pȝ无法执行 q个应用E式?
197 0x00C5作业pȝ目前无法执行 q个应用E式?
198 0x00C6作业pȝ无法执行 %1?
199 0x00C7作业pȝ无法执行 q个应用E式?
200 0x00C8E式码的区段不可以大於或{於64KB?
201 0x00C9作业pȝ无法执行 %1?
202 0x00CA作业pȝ无法执行 %1?
203 0x00CBpȝ找不到输入的环境选项?""""r
205 0x00CD在指令子目录下,没有M行程有信号副处理E式?
206 0x00CE案名称或副名太长?
207 0x00CF ring 2堆叠使用中?
208 0x00D0输入的通用档名字元 * ?? 不正, 或指定太多的通用名字元?
209 0x00D1所传送的信号不正?
210 0x00D2无法讑֮信号处理E式?
212 0x00D4区段被锁定,而且无法重新配置?
214 0x00D6附加到此E式或动态连l模l的动态连l模l太多?
215 0x00D7 Can""""""""t nest calls to LoadModule.
230 0x00E6 The pipe state is invalid.
231 0x00E7所有的pipe instances都在忙碌中?
232 0x00E8 The pipe is being closed.
233 0x00E9 No process is on the other end of the pipe.
234 0x00EA有更多可用的资料?
240 0x00F0作业阶段被取消?
254 0x00FE指定的g伸属性名U无效?
255 0x00FF延的属性不一致?
259 0x0103没有可用的资料?
266 0x010A无法使用Copy API?
267 0x010B目录名称错误?
275 0x0113延属性不适用於缓冲区?
276 0x0114在外挂的案pȝ上的延属性案已l毁损?
277 0x0115延属性表格档满?
278 0x0116指定的g伸属性代码无效?
282 0x011A外挂的这个案系l不支援延属性?
288 0x0120意图释放不属於叫用者的mutex?
298 0x012A semaphore传送次数过多?
299 0x012B只完成Read/WriteProcessMemory的部份要求?
317 0x013Dpȝ找不CD息 %2中编号ؓ0x%1的讯息?
487 0x01E7试存取无效的位址?
534 0x0216q算l果过32位元?
535 0x0217通道的另一端有一个行E在接送资料?
536 0x0218{候行E来开启通道的另一端?
994 0x03E2存取延的属性被拒?
995 0x03E3由於执行l结束或应用E式要求Q而异常终止I/O作业?
996 0x03E4重叠的I/O事g不是讑֮成通知状态?
997 0x03E5正在处理重叠的I/O作业?
998 0x03E6对记忆体位置的无效存取?
999 0x03E7执行inpage作业发生错误?
Windows使用q程中,l常会遇到蓝屏的现象。对于初学者来Ԍ好象是一场电脑灾难一P不知所措。其实只要了解其原因之后Q对症下药即可。造成蓝屏的原因有很多U,M可以概括Z下几U:
一、屏q显C系l忙Q请按Q意键l箋……
1、虚拟内存不造成pȝ多Q务运错?
虚拟内存是WINDOWSpȝ所Ҏ的一U解决系l资源不的ҎQ其一般要求主引导区的盘剩余I间是其物理内存?-3倍。而一些发烧友Z充分利用I间Q将自己的硬盘塞到满满的Q忙CWINDOWSq个苛刻的要求。结果导致虚拟内存因盘I间不而出现运错误,所以就出现蓝屏。要解决q个问题好简单,量不要把硬盘塞得满满的Q要l常删除一些系l生的临时文g、交换文Ӟ从而可以释攄间。或可以手动配置虚拟内存Q选择高Q把虚拟内存的默认地址Q{到其他的逻辑盘下。这样就可以避免了因虚拟内存不而引L蓝屏?
2、CPU频Dq算错误
频对于发烧友来说是怺Q所以由频所引v的各U故障也在所隑օ了。超频,本w而言是在原有的基础上完成更高的性能Q但׃q行了超载运,造成其内部运过多,使CPUq热Q从而导致系l运错误。有些CPU的超频性能比较好,但有时也会出C些莫名其妙的错误?CPU要超频时Q散热工作一定要做好Q最好装一个大的风扇,再加上一些硅胶之cȝ散热材料。)
二、内存条的互不兼Ҏ损坏引vq算错误
q时个最直观的现象,因ؓq个现象往往在一开机的时候就可以见到Q根本启动不了计机Q画面提C出内存有问题,问你是否要l。造成q种错误是物理上的损坏内存或者内存与其它g不兼Ҏ致。这时候只有换q另外的内存了?
三、遭C明的E序或病毒攻L?
q个现象只要是^时我们在上网的时候遇到的Q当我们在冲的时候,特别是进C些BBS站时Q可能暴露了自己的IPQ被""黑客""用一些Y件攻L臟뀂对互这U情冉|好就是在自己的计机上安装一些防御Y件。再有就是登录BBS{共众场合时要进行安全设|,隐藏自己IP?
四、系l的臃肿所?
例如QWindows98pȝ上安装的应用软g太多Q尤其是那些随系l启动的应用E序Q往往在系l启动过E中Q会出现蓝屏现象。这U情况大多是׃应用E序׃n内存冲突影响的!所以大家最好不要把应用E序加入启动l?
五、光驱在ȝ时被非正常打开所?
q个现象是在光驱正在d数据Ӟ׃被误操作打开而导致出现蓝屏。这个问题不影响pȝ正常动作Q只要再弹入光盘或按ESC键就可以?
以上是常遇到的情况,或许q会有其他一些莫名其妙的问题D计算机出现蓝屏。不怎样Q遇到这c问题后Q应先仔l分析问题发生的原因Q然后再着手解冟뀂希望以上几点能l朋友们有所帮助?
常见g不兼容典型故障解x?
׃PC机的方便l装和易扩充性,在一定程度上加速了电脑的普及,而电脑配件制造商们自然也为此做出了巨大A献。不q,正因为我们用的电脑(特别是兼Ҏ)是由不同厂商生的品组合在一P它们怺之间隑օ会发?#8220;摩擦”。这是我们通常所说的不兼Ҏ,所?#8220;兼容?#8221;一词,也源自于此。接下来Q我p谈到底各部g之间会生什么样的不兼容现象Q以及我们如何解册U问题?
1.内存与主板不兼容
内存与主板不兼容的故障较为常见,表现为昨天电脑还用的好好的,可是今天早晨一开机,?#8220;嘀嘀”地叫个不停。只有打开机箱Q把内存条取下来重新插一下就好了。注意:在拔插内存条时一定要拔掉L和电源线Q防止意外烧毁内存。这是故障轻的,严重的话Q需要把几个内存插槽都擦拭好几遍Q才能把机子点亮。可是用不了十天半个月,又会再出现报警的情c只要你打开机箱把内存插一下就又好了。你说机器有问题Q只要点亮了Q就是连l运行十天半个月的一炚w题也没有。可老是报警q谁也受不了。这U情况就是典型的内存与主板不兼容?
造成q种故障的原因有Q?
?内存条不规范Q内存条有点薄。当内存插入内存插槽Ӟ留有一定的~隙。如果在使用q程中有振动或灰落入,׃造成内存接触不良Q生报警?
?内存条的金手指工艺差Q金手指的表面镀金不良。在长时间的使用q程中,金手指表面的氧化层逐渐增厚Q积累到一定程度后Q就会致使内存接触不良,开机时内存报警?
?内存插槽质量低劣Q簧片与内存条的金手指接触不实在Q在使用q程中始l存在着隐患Q在一定的旉׃点不亮,开机报警?
?再就是纯_的不兼Ҏ?一ƾ条子,在有的主板上用得好好的,但是Cq块L上却l常LQ或者不能正常启动。这是典型的不兼容情况?
处理ҎQ?
?用橡皮仔l地把内存条的金手指擦干净Q重新插入插槽?
?用热熔胶把内存插槽两边的~隙填^Q防止在使用q程中l氧化?
?如果使用一D|间以后,q出现报警,q时可先更换一下内存条Q看在以后的使用q程中是否还出现报警?
?如果q一D|间以后还有内存报警出玎ͼq时只有更换LQ才能彻底解决问题?
对于内存条与L因ؓ技术问题不兼容的情况,只能更换其他品牌的内存条Q当然也可以换主ѝ例如:KingMax的内存与英的主板不兼容Q只要二者往一块合Q就会出现蓝屏情c?
2.键盘与主板不兼容
键盘与主板不兼容的问题主要是键盘和鼠标的品质不好Q其芯片的数据取样速度与主板的接收不一_在用过E中׃不定期的出现键盘错误?
主要故障表现Q?
?不定期的查不到键盘或鼠标Q?
?键盘或鼠标在使用q程中丢失;
?q有是鼠标在用过E中没有头指示Q但是能够正常操作或头丢失Q?
?有时候还会出现拖动鼠标时有图块伴随着鼠标移动?
?机器休眠后,用机器唤醒后Q鼠标无法用,只能重新启动电脑或者把鼠标拔下来再插上厅R?
q种情况一般不是主板的问题Q只要更换合格的键盘和鼠标就可以了?
3.昑֍与主板不兼容
故障表现Q?
一是显卡制作工Z规范Q造成插入AGP插槽后,有短路情况出玎ͼq时表现为加不上c?
二是昑֍工作有时正常Q能够点亮显C器Q有时却无规律的点不亮显C器。但是把昑֍插在别的L上用却完全正常。对于这U情况只能更换显卡?
三是电脑L也工作正常,昄器的囑փ昄也正常,但就是会偶然无规律的出现囑փ花屏情况?
四是只要使用q块昑֍Q系l就会工作不E_Q要么频J死机,要么l常掉显卡驱动。对于这U情况也有可能是因ؓ昑֍的驱动程序设计上有缺P造成昑֍工作不稳定,致ɾpȝL?
4.盘与主板不兼容
q种情况不多Q但也有Q有的硬盘在q块L上认得好好的Q但是在另一块主板却L也不认。比如原来的一二百兆的硬盘,如果要从盘启动Q必dIDE1接口的主盘位|,才能正常启动Q否则插上后可以d以写Q但是不能启动?
对于盘速度慢的问题Q一般不属于兼容问题Q而是讄或接U有误。如Q把DMA66的线反接了;盘属性中的DMA功能没有打开QCMOS讄中的 IDE通道没有设ؓ自动Q而是Zؓ的设|ؓPIO4以下的传输方式;盘U过长,造成数据衰减q大Q传输率下降Q硬盘的甉|接口有问题或开关电源功率不I造成盘的供는压不E且偏低。这c问题的解决Ҏ是心细一点,仔细查硬盘的相关讄。特别是DMA66的线反接Ӟ数据传输率将下降一半。另外在使用数据U时Q尽可能的用最q的接口?
5.声卡与主板不兼容
q种情况主要是系l的讑֤太多Q造成声卡的中断或地址与其他设备冲H,要么pȝLQ要么不能正常启动,要么pȝ工作不稳定,或者是声卡装好了,调制解调器却没有了。这U情늚解决是在pȝ安装好以后,q入资源理器,打开相应讑֤的属性,手动修改其冲H的地址或中断号Q其占用空闲的可以了。可能这一操作会多ơ重启电脑才能完成。需要说明一点,同一个中断号Q输入设备和输出讑֤可以q一个。现在PC机的中断hd16个,?Q?5Q但可用的只有十多个Q因时器Q实时时钟,键盘{要固定的占用几个,能分的IRQ号就没有几个了?
不过因ؓ声卡的做工不好,造成把声卡插入PCI插槽后,竟造成了主板加不上늚情况我倒遇C一回。v初还认ؓ声卡是坏的,谁知换了一块同型号的,q是同样的故障现象,但这块声卡插在其他型LL上是能够正常工作。最后只能更换其他型L声卡才把该问题解冟?
6.|卡与主板不兼容
|卡除了地址和中断冲H外Q还有一U情冉||速慢Q上|和下蝲的速度特别慢,甚至C无法忍受的地步。这U情况也是因为冲H造成的,其原因可能是因ؓ|卡做工的原因,与机内的某一部g造成了电干扎ͼ影响了网l的数据传输速度。对于前一U情况,处理Ҏ同声卡;对于后一U情况,最好是更换不同品牌的网卡进行测试?
7.最新的BIOS与主板不兼容
一般当我们的主板不认识新的CPU和其他新的部件时或不认容量硬盘时Q或原来L有一些小BUGӞ我们可以到网上下载该L最新的BIOSE序Q刷新后可以了。不q我却遇C一例是金长城品牌机Q配|是C433的,原来使用的是4.3G盘Q后来想挂一?0G的大定w盘Q但是原来的P6SET -MEL是不认。后来到|上查到Q最新的1.2版的BIOS能够认到65G的大盘Q就从网上下载,然后h。一切都非常利Q启动正常,盘也认了,本以为问题就此解冟뀂但是在pȝ安装好以后,装完声卡时才发现Q只要点击鼠标,喇叭中就会不停传?#8220;嘟嘟”壎ͼ无法去除。v初还以ؓ是系l没有安装好或者是声卡的驱动有问题Q但是始l没有解决问题。最好在比较前后两个BIOS代码内容时发玎ͼ二都除了pȝ代码部分不同外,ACPI模块的容量也E有差异Q于是把旧BIOS中的ACPI剥离出来Q再d到新的BIOS中,然后hBIOS芯片Q再启动pȝӞ发现故障解决。这是一Ƒօ型的BIOS代码与主板冲H的问题?
8.昄器与L不兼?
对于三星QLG昄器,在其OSD菜单时有一信Lq|,可以显C器接受信号电^?.7V?.0V两者这间做先择。我们普遍用的PC机的昑֍输出的信Lqx0.7V模拟信号Q如果把昄器的接受信号电^误设?.0VӞq时昄器的整下囑փ偏黄Ԍ偏暗。特别对于专业做图用的昄器,对色温要求很高,因ؓq关pd实际的输出效果,因此在选用昄器时Q一定要选用高端的显C器Qƈ且要查显C器输入信号与显卡的输出信号是否匚w?
9.打印ZL不兼?
q种情况一般不Ҏ出现Q主要是L输出的打CLq与打印机的接口电\不匹配,造成打印时出现错误,其中q有一U可能是打印数据U不合格或数据线q长Q造成信号在传输过E中衰减q大。我在维修过E中Q因为ƈ行数据线造成打印不正常的故障遇到q很多次Q特别是数据U的长度最好不要超q?cI否则可以会造成的一些奇怪的故障Q打印速度非常慢,打印半页Q打Cؕ码等?
例:一客户购买的硕泰克LQPII450CPU的兼Ҏ和OKI8340C打印机,因客户对该打印机的打印效果不满意Q认为打印的_ֺ不高和打印直U不_要更换STAR3200Q打印机。但是把打印机更换后Q打印时Q却只能打印5行,然后无法打华ͼ走纸退出,无法l箋打印。也怀疑数据线有问题,但更换后故障依旧。不q,再用OKI8340CӞq是正常?
注意QOKI8340C和STAR3200Q打印机都兼容LQ1600K打印驱动Q更换打印机时无需更换驱动E序?
10.光驱与主板不兼容
q种情况表现为当插上光驱后,计算Z机启动过E变慢,ҎLQ蓝屏等情况Q但只要去除光驱׃切正常。这U情况一般是光驱的电路有损坏Q造成在数据传输时出现停顿或等待时间太长而死机。解决的Ҏ是ɾpȝ最化q行Q然后把其他部g一样一L加上去,当加到某一部g时出C问题Q那么这是问题所在?
以下q几原则上不能归ؓ不兼Ҏ障,但是出现的几率却不少Q在q儿也列出来Q供大家参考?
11.L与机׃兼容
q种情况实际上不能叫做兼容,主要是机q制作工艺差,不规范,造成安装L时要么主板有形变以致L与机壳相而短路,要么各种扩展卡与L接触不良而出现其他故障?
我遇到过一ơ,只要把主板等部g攑ֈ机箱里,q常出现死机和不能启动情况Q同时只有把机箱qx时才能启动,只要把机qh根本不能启动。但是把LI置使用p够长旉开机,q且q行E_?
12.甉|与主板不兼容
甉|做ؓ计算机的动力源泉Q可是关键中的关键。不q,好多朋友们在购机ӞL把大把的MONEY花在CPU和内存上Q在甉|上却省之又省。到后来电脑l常的犯病,|工Q才知道是电源的错,才一气之下买了一个好甉|。ؓ什么不一步到位呢Q?
计算机各部g对电源的E_度要求很高,Q?2VQ+5V的变化在10%之内Q+3.3V的变化在5%之内。如果电源的输出电压变化出了这个范_有的部g׃出现奇怪地故障Q有的干脆Ş工,有的可能会彻底报废?
13.Ud讑֤与USB接口不兼?
其实q类故障不能归ؓ不兼容,多数都是Ud讑֤的耗电量太大,而USB接口的供는有限,造成Ud讑֤不能正常使用所致。如果出现移动硬盘,USB 接口的扫描A或其他移动设备不能正怋用时Q注意检查一下设备的工作状态指C灯是否正常Q再查驱动程序的安装是否正确Q最后检查一下主板USB接口的供甉|否由跳线控制。主板USB接口的供甉|好用主甉|Q?V供电?
有时候还会出现同样一块移动硬盘在有的L上能够用,而在有的L上却不能使用Q在排除上述的原因后Q可能是因ؓ不同的主板USB供电的方法不一P有的是直接供电,从+5V甉|接口到USB接口之间没有加Q何元Ӟ有的却是使用三极可控供电,能够提供完善的保护措施,但是供电甉|被限制在 500MA以内?
14.耳麦与声卡或L不兼?
有时插上x后,发觉x的声音特别小Q没办法正常使用Q这有两U情况:
?x的阻?
我们正常使用的x都是8OHML的听{,如果我们购买的是高阻x或者是其它Ҏ用途的xQ这时插在电脑上׃觉得声音特别,即你把声音调到最大,也没有Q何改善。这U情冉|因ؓ负蝲的输入阻抗与讑֤的输出阻抗不匚w造成的?
?L上是否有功放?
有的L上不带功攑֝Q只能提供信L带功攄有源音箱使用。如果用xӞ会感到x的声音特别小Q这时没有别的办法,只能使用有源讑֤来工作?
14.软驱与机׃兼容
软驱不能ȝQ这U情冉|们经帔R刎ͼ一来是软盘的故障率太高Q二来是软驱也老爱犯病。特别Y驱,虽然已经C末日Q可q是有用武之圎ͼ装个|卡驱动Q解个硬盘逻辑锁,做个加密盘Q还有一些杀毒Y仉q喜Ƣ用软盘。可是Y驱呢Q特别娇气,安装的时候稍微有些不C或过紧过松了Q插入Y盘时׃能正到位,也就无法正常ȝ了。我们在安装软驱Ӟ最好用一张Y盘检查一下,是否能够装入CQ是否能够正常读盘,是否能够正常出盒。在定工作正常时再紧固ZQ然后再ȝ?br />
]]>
对于Eclipse中的SVN工具大家q不陌生Q但说vSubversion服务器环境的搭徏Q大家也怼觉得有些陌生。这里我l出了搭?/span> Subversion服务器的快速步骤及可能会遇到的问题Q帮助大家轻村֮成自?/span>SVN版本理?/span>本文可分Z大部分,一?/span>windows环境下用桌面客L工具来搭?/span>SVN服务器环境,二是Eclipse?/span>SVN插g的用。文中有部分内容引自subversion中文?/span>Q感谢他们的创作?/span>
1. 软g下蝲
Subversion服务器可以到官方|站下蝲Q也可以直接点击下蝲svn-1.4.0-setup.exe ?/span>
TortoiseSVN是在window环境下用的Subversion客户端,可以看作Windows资源理器的插gQ安装之?/span>Windows可以识?/span>Subversion的工作目录?/span>官方|站?/span>TortoiseSVN
Q下载方式和前面?/span>svn服务器类|?/span>Download面的我们可以选择下蝲的版本,目前的最高稳定版本的安装文g?/span>TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi?/span>
2. 软g安装
服务器安装,直接q行svn-1.4.0-setup.exeQ根据提C安装即可,q样我们有了一套服务器可以q行的环境。安?/span>TortoiseSVNQ同L接运?/span>TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按照提示安装卛_Q不q最后完成后会提C是否重启,其实重启只是?/span>svn工作拯?/span>windows中的Ҏ样式生效Q与所有的实际功能无关Q这里ؓ了立ȝ到好的效果,q是重新启动机器?/span>
3. 建立版本?/span>
q行Subversion服务器需要首先要建立一个版本库Q?/span>RepositoryQ,可以看作服务器上存放数据的数据库Q?/span>
?/span>们可以?/span>TortoiseSVN囑Ş化的完成q一步:在目?/span>E:"subversion"repository?/span>"右键->TortoiseSVN->Create
Repository here...“Q?/span>然后可以选择版本库模式,使用默认卛_Q?/span>然后创Z一pd目录和文件?/span>
4. 配置用户和权?/span>
来到E:"subversion"repository"conf目录Q修?/span>svnserve.confQ?/span>
# [general]
# password-db = passwd
改ؓQ?/span>
[general]
password-db = passwd 然后修改同目录的passwd文gQ去掉下面三行的注释Q?/span>
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret
注意Q?/span>LQ号后,要当前行顶|不要留在行头留出I格来;否则Q会在创建版本数据库时出?/span>
5. q行独立服务?/span>
q入命o提示W,输入svnserve -d -r E:"subversion"repositoryQ我们的服务器程序就已经启动了?/span>
注意Q不要关闭命令行H口Q关闭窗口也会把svnserve停止?/span>
6A. 建立trunk目录
在地址栏输?/span>svn://localhost/后回车,则会弹出‘Repository Browser' 对话?/span>
可以在对话框中创建新的目?/span>trunkQ然后添加源代码(d源代码这个动作也可以?/span>6B中实玎ͼ更ؓ方便)?/span>
6B. d源工E文?/span>
来到我们惌导入的项目根目录Q本例中?/span>E:"subversion"projectsQ目录下有两个需要导入的工程文g夹:在空白处右键->TortoiseSVN->Import...
Q?/span>在弹出对话框?/span>URL of repository框中输入“svn://localhost/” Q?/span>然后认。完成之后目录没有Q何变化,导入q程中会在在弹出的对话框中显C导入文件的信息Q这样就可以当前目录下的所有文仉导入到我们刚定义的版本库中?/span>
需要注意的是,q一步操作可以完全在另一台安装了TortoiseSVN的主Zq行。例如运?/span>svnserve的主机的IP?/span>133.96.121.22Q则URL部分输入的内容就?/span>“svn://133.96.121.22/”?/span>
xQ?/span>SVN 服务器端配置完毕Q你也可以点?/span>此处观看动画教程下面便可以凭?/span>Eclipse下的svn客户端插件来Ҏ工程q行同步开发?/span>
Eclipse ?/span>SVN插g我用q的?/span>SVNkit ?/span>SubEclipse?/span>关于它们的用方法,我在q里只介l下针对刚才服务器端的配|,我们?/span>checkout时的几项讄Q如下:
URL:svn://localhost
User:harry
Password:harryssecret
大家要学习它们的用法Q可以通过搜烦|站获得更详的资料Q我不再赘述Q但有一炚w要特别指出:
因ؓ刚才服务器端?/span>Subversion 版本较新Q而我当时用的SVNKit插g版本?/span>1.1.1Q在commit代码ӞM抛出'Malformed network
data' (畸Ş的网l数?/span>)异常Q?/span>但事后更C码,却又发现它已l更新成功。所以如果是在装了以?/span>Subversion1.4版本的服务器情况下,q是推荐使用SubEclipse的最新版本?/span>
资源库:
<svn://localhost:3690> c27b875b-1052-cc4c-b0f9-db9c84fdcd78
OSCache
OSCache是个一个广泛采用的高性能的J2EE~存框架QOSCache能用于Q何Java应用E序的普通的~存解决Ҏ?br> OSCache有以下特点:
~存M对象Q你可以不受限制的缓存部分jsp面或HTTPhQQ何java对象都可以缓存?br> 拥有全面的API--OSCache APIl你全面的程序来控制所有的OSCacheҎ?br> 怹~存--~存能随意的写入盘Q因此允许昂늚创徏Qexpensive-to-createQ数据来保持~存Q甚臌让应用重启?br> 支持集群--集群~存数据能被单个的进行参数配|,不需要修改代码?br> ~存记录的过?-你可以有最大限度的控制~存对象的过期,包括可插入式的刷新策略(如果默认性能不需要时Q?br> 官方|站 http://www.opensymphony.com/oscache/
Java Caching System
JSC(Java Caching System)是一个用分布式的~存pȝQ是Z服务器的java应用E序。它是通过提供理各种动态缓存数据来加速动态web应用?br> JCS和其他缓存系l一P也是一个用于高速读取,低速写入的应用E序?br> 动态内容和报表pȝ能够获得更好的性能?br> 如果一个网站,有重复的|站l构Q用间歇性更新方式的数据库(而不是连l不断的更新数据库)Q被重复搜烦出相同结果的Q就能够通过执行~存方式改进其性能和~性?br> 官方|站 http://jakarta.apache.org/turbine/jcs/
EHCache
EHCache 是一个纯java的在q程中的~存Q它h以下Ҏ:快速,单,为Hibernate2.1充当可插入的~存Q最的依赖性,全面的文档和试?/p>
官方|站 http://ehcache.sourceforge.net/
JCache
JCache是个开源程序,正在努力成ؓJSR-107开源规范,JSR-107规范已经很多q没改变了。这个版本仍然是构徏在最初的功能定义上?br> 官方|站 http://jcache.sourceforge.net/
ShiftOne
ShiftOne Java Object Cache是一个执行一pd严格的对象缓存策略的Java libQ就像一个轻量的配|缓存工作状态的框架?br> 官方|站 http://jocache.sourceforge.net/
SwarmCache
SwarmCache是一个简单且有效的分布式~存Q它使用IP multicast与同一个局域网的其他主行通讯Q是特别为集和数据驱动web应用E序而设计的。SwarmCache能够让典型的L作大大超q写操作的这cd用提供更好的性能支持?br> SwarmCache使用JavaGroups来管理从属关pd分布式缓存的通讯?br> 官方|站 http://swarmcache.sourceforge.net
TreeCache / JBossCache
JBossCache是一个复制的事务处理~存Q它允许你缓存企业应用数据来更好的改善性能。缓存数据被自动复制Q让你轻松进行JBoss服务器之间的
集群工作。JBossCache能够通过JBoss应用服务或其他J2EE容器来运行一个MBean服务Q当Ӟ它也能独立运行?br> JBossCache包括两个模块QTreeCache和TreeCacheAOP?br> TreeCache --是一个树形结构复制的事务处理~存?br> TreeCacheAOP --是一?#8220;面向对象”~存Q它使用AOP来动态管理POJO(Plain Old Java Objects)
注:AOP是OOP的gl,是Aspect Oriented Programming的羃写,意思是面向斚w~程?br> 官方|站 http://www.jboss.org/products/jbosscache
WhirlyCache
Whirlycache是一个快速的、可配置的、存在于内存中的对象的缓存。它能够通过~存对象来加快网站或应用E序的速度Q否则就必须通过查询数据库或其他代h较高的处理程序来建立?br> 官方|站 https://whirlycache.dev.java.net/
Log4j 支持两种配置文g格式Q一U是 XML 格式的文Ӟ一U是 Java Ҏ文?lg4j.properties Q键 = |?
lg4j.properties 文g作ؓ作ؓ常用的配|文件的Ҏ如下Q?
Ø 配置?Logger
Logger 负责处理日志记录的大部分操作?
其语法ؓQ?
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中Q?level 是日志记录的优先U,分ؓ OFF ?FATAL ?ERROR ?WARN ?INFO ?DEBUG ?ALL 或者自定义的别?Log4j 只用四个别,优先U从高到低分别是 ERROR ?WARN ?INFO ?DEBUG 。通过在这里定义的U别Q您可以控制到应用程序中相应U别的日志信息的开兟뀂比如在q里定义?INFO U别Q只有等于及高于q个U别的才q行处理Q则应用E序中所?DEBUG U别的日志信息将不被打印出来?ALL: 打印所有的日志Q?OFF Q关闭所有的日志输出?appenderName 是指定日志信息输出到哪个地斏V可同时指定多个输出目的地?
Ø Appender
配置日志信息输出目的?Appender 负责控制日志记录操作的输出?
其语法ؓQ?
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
log4j.appender.appenderName.optionN = valueN
其中Q?Log4j 提供?appender 有以下几U:
org.apache.log4j.ConsoleAppender Q控制台Q,
org.apache.log4j.FileAppender Q文ӞQ?
org.apache.log4j.DailyRollingFileAppender Q每天生一个日志文ӞQ?
org.apache.log4j.RollingFileAppender Q文件大到达指定尺寸的时候生一个新的文ӞQ可通过 log4j.appender.R.MaxFileSize=100KB 讄文g大小Q还可通过 log4j.appender.R.MaxBackupIndex=1 讄Z存一个备份文件?
org.apache.log4j.WriterAppender Q将日志信息以流格式发送到L指定的地方)
例:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
定义一个名?stdout 的输出目的地Q?ConsoleAppender 为控制台?
Ø Layout
其中Q?Log4j 提供?layout 有以下几U:
org.apache.log4j.HTMLLayout Q以 HTML 表格形式布局Q,
org.apache.log4j.PatternLayout Q可以灵zd指定布局模式Q,
org.apache.log4j.SimpleLayout Q包含日志信息的U别和信息字W串Q,
org.apache.log4j.TTCCLayout Q包含日志生的旉、线E、类别等{信息)
Ø 格式化日志信?
Log4J 采用cM C 语言中的 printf 函数的打印格式格式化日志信息Q打印参数如下:
%m 输出代码中指定的消息
%p 输出优先U,?DEBUG Q?INFO Q?WARN Q?ERROR Q?FATAL
%r 输出自应用启动到输出?log 信息耗费的毫U数
%c 输出所属的cȝQ通常是所在类的全?
%t 输出产生该日志事件的U程?
%n 输出一个回车换行符Q?Windows q_?“rn” Q?Unix q_?“n”
%d 输出日志旉点的日期或时_默认格式?ISO8601 Q也可以在其后指定格式,比如Q?%d{yyyy MMM dd HH:mm:ss,SSS} Q输出类|
%l 输出日志事g的发生位|,包括cȝ名、发生的U程Q以及在代码中的行数?
log4j.propertie CZ文gQ?
log4j.rootCategory=INFO, stdout,file
###. 定义名ؓ stdout 的输出端的类?
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n
###. 定义名ؓ file 的输出端的类型ؓ每天产生一个日志文件?
log4j.appender.file =org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=log.txt
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
###. 指定 com.neusoft 包下的所有类的等Uؓ DEBUG 。可以把 com.neusoft 改ؓ自己目所用的包名?
log4j.logger.com.neusoft=DEBUG
###. 如果目中没有配|?EHCache Q则配置以下两句?ERROR ?
log4j.logger.com.opensymphony.oscache=ERROR
log4j.logger.net.sf.navigator=ERROR
### struts 配置
log4j.logger.org.apache.commons=ERROR
log4j.logger.org.apache.struts=WARN
### displaytag 配置
log4j.logger.org.displaytag=ERROR
### .spring 配置
log4j.logger.org.springframework=DEBUG
### . ibatis 配置
log4j.logger.com.ibatis.db=WARN
### . hibernate 配置
log4j.logger.org.hibernate=DEBUG
log4j.logger.org.apache.velocity=FATAL
log4j.logger.com.canoo.webtest=WARN
<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="org.zblog.all" class="org.apache.log4j.RollingFileAppender">
<!-- 讄通道 ID:org.zblog.all 和输出方式: org.apache.log4j.RollingFileAppender -->
<param name="File" value="all.output.log" />
<!-- 讄 File 参数Q日志输出文件名 -->
<param name="Append" value="false" />
<!-- 讄是否在重新启动服务时Q在原有日志的基d新日?-->
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
<!-- 讄输出文g目和格?-->
</layout>
</appender>
<appender name="org.zblog.zcw" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="output.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="10240" />
<!-- 讄文g大小 -->
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
</layout>
</appender>
<logger name="zcw.log">
<!-- 讄域名限制Q即 zcw.log 域及以下的日志均输出C面对应的通道?-->
<level value="debug" />
<!-- 讄U别 -->
<appender-ref ref="org.zblog.zcw" />
<!-- 与前面的通道 id 相对?-->
</logger>
<root>
<!-- 讄接收所有输出的通道 -->
<appender-ref ref="org.zblog.all" />
<!-- 与前面的通道 id 相对?-->
</root>
</log4j:configuration>
Ø 导入所有需?commongs-logging c:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Ø 获取日志记录?
在自qcM定义一?org.apache.commons.logging.Log cȝU有静态类成员Q?
private final Log log = LogFactory.getLog(getClass());
LogFactory.getLog() Ҏ的参C用的是当前类?class ?
Ø 输出日志信息
使用 org.apache.commons.logging.Log cȝ成员Ҏ输出日志信息Q?
if (log.isDebugEnabled()) {
log.debug("debug…");
}
if (log.isInfoEnabled()){
log.info("Info…");
}
if (log.isWarnEnabled()){
log.warn("warn …");
}
if (log.isErrorEnabled()){
log.error("error …");
}
if (log.isFatalEnabled()){
log.fatal("fatal …")
}
Ø 获取日志记录?
得到记录器?Log4j Q这个记录器负责控制日志信息。其语法为:
public static Logger getLogger( String name)
通过指定的名字获得记录器Q如果必要的话,则ؓq个名字创徏一个新的记录器?Name 一般取本类的名字,比如Q?
static Logger logger = Logger.getLogger (Test.class.getName () )
Ø d配置文g
当获得了日志记录器之后,W二步将配置 Log4j 环境Q其语法为:
BasicConfigurator.configure () Q?自动快速地使用~省 Log4j 环境?
PropertyConfigurator.configure(String configFilename) Q读取?Java 的特性文件编写的配置文g?
例: PropertyConfigurator.configure(".\\src\\log4j.properties"), 若将 log4j.properties 攑֜工程根目录下也可不写此句Q程序会自动扑ֈ配置文g?
DOMConfigurator.configure ( String filename ) Q读?XML 形式的配|文件?
Ø 输出日志信息
当上两个必要步骤执行完毕Q就可轻村֜使用不同优先U别的日志记录语句插入到您想记录日志的Q何地方,其语法如下:
Logger.debug ( Object message ) ;
Logger.info ( Object message ) ;
Logger.warn ( Object message ) ;
Logger.error ( Object message ) ;
log4j 范例E序
下面用一个最单的范例E序来进一步说?log4j 的用方法。程序代码如下:
import org.apache.log4j.*;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.xml.DOMConfigurator;
public class LogTest {
static Logger logger = Logger.getLogger(LogTest.class.getName());
public static void main(String[] args) {
PropertyConfigurator.configure ( “.\\src\log4j.properties”) Q?
//DOMConfigurator.configure(".\\src\log4j.xml");// 加蝲 .xml 文g
logger.debug("Debug ...");
logger.info("Info ...");
logger.warn("Warn ...");
logger.error("Error ...");
}
}
Ø 导入所需的驱动包
无论使用哪种数据库都需要将驱动包导入服务中?
Ø 创徏所需的表
首先要保证你的数据库中有 log 表,q且保正字段的长度,否则写入日志时操作会p|
数据字典说明Q?
CREATE TABLE LOG (
ID INTEGER NOT NULL PRIMARY KEY,
LOGDATE DATE,
LOGTIME TIME,
LOGTHREAD VARCHAR(50),
LOGLEVEL VARCHAR(50),
LOGCLASS VARCHAR(50),
LOGLOGGER VARCHAR(200),
LOGMESSAGE VARCHAR(2000)
)
GO
## 配置数据库联?
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:db2://127.0.0.1:50000/pbdb
log4j.appender.DATABASE.driver=com.ibm.db2.jcc.DB2Driver
log4j.appender.DATABASE.user=erpt1104
log4j.appender.DATABASE.password=erpt1104
log4j.appender.DATABASE.sql = INSERT INTO log (logDATE,logTIME,LOGThread,loglevel,logClass,logLogger,logMessage) values ('%d{yyyy-MM-dd}','%d{HH:mm:ss}','%t', '%p', '%c', '%l', '%m')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout log4j.appender.DATABASE.layout.ConversionPattern = %d{yyyy MM dd HH:mm:ss,SSS} %-5p %t %c %m
说明Q?
%d 输出日志旉点的日期或时_默认格式?ISO8601 Q也可以在其后指定格式,比如Q?%d{yyyy-MM-dd HH:mm:ss} Q输出类| 2007-3-29 17:49:27 Q刚好适合插入 SQLServer Q?
%t 产生该日志事件的U程名;
%p 日志?log_level Q如 DEBUG ?WARN 或?INFO Q?
%c 输出所属的cȝQ通常是所在类的全名,?#8220; iNotes.Default ”Q?
%m 日志的内容;
%l 输出日志事g的发生位|,包括cȝ名、发生的U程Q以及在代码中的行数。如 Test.main(Test.java:33) Q?
%n 输出一个回车换行符Q?Windows q_?#8220; \r\n ”Q?Unix q_?#8220; \n ”
import sun.jdbc.odbc.*;
import java.sql.*;
import org.apache.log4j.Category;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.jdbc.*;
static Logger logger = Logger.getLogger(Test.class.getName ());
PropertyConfigurator.configure ( "log.properties" ) ;
logger.info ( "test" );
q行目Q你׃看到执行?sql 语句Q数据库中便插入相关数据Q如需Ҏ志进行分析整理,q就不是 log4j 的事情了?
Doc 文可以从其|站上下载:
http://logging.apache.org/log4j/docs/api/index.html
http://logging.apache.org/log4j/docs/documentation.html
关于 eclipse ?log4j的插件log4e 可以M的官方网站上下蝲Q?a >http://log4e.jayefem.de/index.php/Download
1下蝲
http://jakarta.apache.org/log4j/docs/download.html
2log4j的简明手册(englishQ?/p>
http://jakarta.apache.org/log4j/docs/manual.html
3安装
log4j不需要安装,只需要把①LOG4J_HOME/dist/lib/log4j-VERSION.jarQ②LOG4J_HOME/dist/classes③一 个JAXP~译 XML的剖析器Q即parser.jar文gQ?攑֜classpath中你可以用。(LOG4J_HOME是你攄log4j的目录)
4使用
4Q??/p>
Log4j׃个重要的lg构成Q日志信息的优先U,日志信息的输出目的地Q日志信息的输出格式。日志信息的优先U从高到低有ERROR、WARN、INFO、DEBUGQ分别用来指定这条日志信息的重要E度Q日志信息的输出目的地指定了日志打印到控制台还是文件中Q而输出格式则控制了日志信息的昄内容?/p>
4Q?、用JavaҎ文件做为配|文件的ҎQ?/p>
4Q?Q?配置根LoggerQ其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中Qlevel 是日志记录的优先U,分ؓOFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的别。Log4j只用四个别,优先U从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的U别Q您可以控制到应用程序中相应U别的日志信息的开兟뀂比如在q里定义了INFOU别Q则应用E序中所有DEBUGU别的日志信息将不被打印出来?br>appenderName是指定日志信息输出到哪个地斏V您可以同时指定多个输出目的地?br> 配置日志信息输出目的地AppenderQ其语法?/p>
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
…
log4j.appender.appenderName.option = valueN
其中QLog4j提供的appender有以下几U:
org.apache.log4j.ConsoleAppenderQ控制台Q,
org.apache.log4j.FileAppenderQ文ӞQ?br>org.apache.log4j.DailyRollingFileAppenderQ每天生一个日志文ӞQorg.apache.log4j.RollingFileAppenderQ文件大到达指定尺寸的时候生一个新的文ӞQ?br>org.apache.log4j.WriterAppenderQ将日志信息以流格式发送到L指定的地
4Q?Q?|日志信息的格式Q布局Q,其语法ؓQ?/p>
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
…
log4j.appender.appenderName.layout.option = valueN
其中QLog4j提供的layout有以下几U:
org.apache.log4j.HTMLLayoutQ以HTML表格形式布局Q,
org.apache.log4j.PatternLayoutQ可以灵zd指定布局模式Q,
org.apache.log4j.SimpleLayoutQ包含日志信息的U别和信息字W串Q,
org.apache.log4j.TTCCLayoutQ包含日志生的旉、线E、类别等{信息)
4Q?在代码中使用Log4j
4Q?.1得到记录?/p>
使用Log4jQ第一步就是获取日志记录器Q这个记录器负责控制日志信息。其语法为:
public static Logger getLogger( String name)Q?/pre>通过指定的名字获得记录器Q如果必要的话,则ؓq个名字创徏一个新的记录器。Name一般取本类的名字,比如Q?/p>
static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () ) ;4Q?.2d配置文g
当获得了日志记录器之后,W二步将配置Log4j环境Q其语法为:
BasicConfigurator.configure ()Q?自动快速地使用~省Log4j环境?br>PropertyConfigurator.configure ( String configFilename) Q读取用Java的特性文件编写的配置文g?br>DOMConfigurator.configure ( String filename ) Q读取XML形式的配|文件?/p>4Q?.3插入记录信息Q格式化日志信息Q?/p>
当上两个必要步骤执行完毕Q您可以轻村֜使用不同优先U别的日志记录语句插入到您想记录日志的Q何地方,其语法如下:
Logger.debug ( Object message ) ;
Logger.info ( Object message ) ;
Logger.warn ( Object message ) ;
Logger.error ( Object message ) ;
5CZ(源文件和属性文?//TestLog4j.javapackage TestLog;import java.io.IOException;import java.net.URL;import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;public class TestLog4j{private static Loggerlogger=Logger.getLogger(TestLog.TestLog4j.class.getName());public TestLog4j(){}public static void main(String argv[]){String resource ="/TestLog/TestLog4j.properties";URL configFileResource =TestLog4j.class.getResource(resource);PropertyConfigurator.configure(configFileResource);logger.debug("Hello, my name is Maggie Simpson.");logger.info("info");}}//TestLog4j.properties#讄logger和levellog4j.rootCategory=DEBUG, R#文g大小辑ֈ指定寸时生新文glog4j.appender.R=org.apache.log4j.RollingFileAppender#输出的日志文件名log4j.appender.R.File=log.html#文g格式log4j.appender.R.layout=org.apache.log4j.HTMLLayout#指定文g大小log4j.appender.R.MaxFileSize=3KB#产生新文Ӟ原文件名为log.html.1,...,log.html.MaxBackupIndexlog4j.appender.R.MaxBackupIndex=2