你好,可以配置一下log4j,放在项目的根目录下,就会自定定位错误信息,并且定位到具体行
成都创新互联公司专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,成都服务器托管,成都服务器托管,成都多线服务器托管等服务器托管服务。
关于log4j的使用,首先把log4j.jar文件考到工程里面,src在新建log4j.properties文件
配置如下
#A1为控制台输出,A2为文件输出,R为文件输出,并且按天分割.级别为info
log4j.rootLogger=info,A1,A2,R
#将info级别的日志输出到控制台
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.Threshold=info
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
#将info级别的日志输出到文件,按天分隔
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=./logs/sslvpn.log
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
log4j.appender.R.Threshold=info
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
#将error级别的日志输出到文件
log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.File=./logs/error.log
log4j.appender.A2.Threshold=error
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
log4j的功能很强大,可以将日志信息插入数据库,希望可以帮到你
要定位到行,代码要debug编译,至少要带上行信息。
线程占用内存高低,可以用jmap做heap dump出来给MomoryAnalysis分析他可以按线程统计,一般也可以用它来找出造成OOM的原因。
线程占用CPU,上述内存的问题是一个方面,另外也可以jstack打线程栈来分析。Linux上ps -T -p可以看底层线程的CPU占用(Windows上需要额外按工具),记得线程编号可以在jstack打出来的线程栈中检查。
(3,4,N)
上北下南左西又东
顺时针排序:北东南西
北1 东2 南3 西4
(3,4,1)
左转1+1=2东
右转1-1=01,则0=4西
后转1+2=3南
可以把朝向问题看成类似约瑟夫的问题。
用数组记录当前坐标X Y 及朝向。用1,2,3,4代表北东南西
左转后,(3,4,2)
往前一步,
当朝向不同的时候,有对应的向前向后是改变哪个坐标值,
写四个朝向时候的坐标的算法
然后调用,传入2,则调用case=2时的动作,如果向前则~~~向后则~~~~再命令转向则(调用处理方向改变的函数)~~~~
最后输出(,,),对最后一个兑换成“东南西北”输出就行了
()