首页 > 编程知识 正文

银行联行号代码,接收行号无效什么意思

时间:2023-05-06 08:54:34 阅读:20231 作者:486

1、在java日志中记录错误的文件、方法、行号、错误信息

sacktraceelements=e.getstack trace () [0];

1.1、记录保存的文件s.getFileName ()

1.2、记录保存的方法s.getMethodName () )。

1.3、记录报告错误的行号s.getLineNumber ()

1.4、记录报告错误的信息(不完整(e.getMessage ) ) ) ) ) ) ) ) )。

1.5、互惠申报错误的类名e.getClassName () )。

1.6、打印详细堆栈信息logger.error (错误堆栈)、e );

获取堆栈信息,直接打印e后,将其进行toString

//*

*获取堆栈信息

* @param throwable

* @return

*/

publicstaticstringgetstacktrace (可伸缩可伸缩) {

StringWriter sw=new StringWriter (;

打印机pw=new打印机(SW;

特里

{

throwable.print堆栈跟踪(pw;

return sw.toString (;

(} finally

{

pw.close (;

}

}

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

//*

* @Desc:异常打印日志,打印异常提供

* @Author HealerJean

* @Date 2018/8/21下午6:41。

*/

publicstaticvoidlog (可移植e,类c ) {

logger logger=logger factory.getlogger (c;

//logger.error ('错误堆栈',e );

sacktraceelements=e.getstack trace () [0]; //数组的长度为1

logger.error ((n (n---------- ) )。

'n错误文件名:' s.getFileName () ) ) ) ) ) ) ) ) )。

'n报告错误的类: ' s.getClassName () )。

'n错误报告方法:' s.getMethodName ()

'n报告错误的行: ' s.getLineNumber ()

'n报告错误的消息: ' e.getmessage () )。

'n错误堆栈:n '获取堆栈跟踪(e )

() n--------(n ) );

}

1.2、使用

publicstaticvoidmain (字符串[ ] args ) {

try {

int i=1/0;

}catch(exceptione ) {

log(e,ExceptionLogUtils.class;

}

}

1:40336053.732 [主] error com.duo Dian.you hui.admin.utils.exception logutils -

----------------- -

错误文件名:ExceptionLogUtils.java

报告错误类: com.duo Dian.you hui.admin.utils.exception logutils

如何报告错误:main

错误的行: 68

错误的消息:/by zero

错误堆栈:

Java.lang.arithmetic exception :/by zero

atcom.duo Dian.you hui.admin.utils.exception logutils.main (exception logutils.Java :68 )。

-------------------

2、打印变量日志

log.info (cachemsgrecur _ fighta : roomid={ },userId={},toUid={} ',room.getRoomId ),ctx.getUserId )

3、info打印更多信息

3.1、印刷方法

publicstaticvoidloginfo (字符串msg,类c ) {

日志程序日志

er = LoggerFactory.getLogger(c);

String location="";

StackTraceElement[] stacks = Thread.currentThread().getStackTrace();

System.out.println(stacks.length); //长度为3

for(StackTraceElement stackTraceElement:stacks){

logger.info("nn**************"+

"n打印文件名:"+stackTraceElement.getFileName() +

"n打印类名:"+ stackTraceElement.getClassName() +

"n方法名:" + stackTraceElement.getMethodName() +

"n行号:" + stackTraceElement.getLineNumber() +

"n打印内容:"+msg+

"n**************nn");

System.out.println(location);

}

}

3.2、测试

1、是当前线程,2、当前打印所在方法,3、是调用该方法的类,那么我们需要的就是第三个

public static void main(String[] args) {

logInfo("HealerJean",ExceptionLogUtils.class);

}

3

11:44:47.685 [main] INFO com.duodian.youhui.admin.utils.ExceptionLogUtils -

**************

打印文件名:Thread.java

打印类名:java.lang.Thread

方法名:getStackTrace

行号:1559

打印内容:HealerJean

**************

11:44:47.689 [main] INFO com.duodian.youhui.admin.utils.ExceptionLogUtils -

**************

打印文件名:ExceptionLogUtils.java

打印类名:com.duodian.youhui.admin.utils.ExceptionLogUtils

方法名:logInfo

行号:31

打印内容:HealerJean

**************

11:44:47.689 [main] INFO com.duodian.youhui.admin.utils.ExceptionLogUtils -

**************

打印文件名:ExceptionLogUtils.java

打印类名:com.duodian.youhui.admin.utils.ExceptionLogUtils

方法名:main

行号:49

打印内容:HealerJean

**************

1和3总结

package com.duodian.youhui.admin.utils;

import lombok.extern.slf4j.Slf4j;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import java.io.PrintWriter;

import java.io.StringWriter;

/**

* @Desc: 异常打印日志 ,提供给打印非正常异常

* @Author HealerJean

* @Date 2018/8/21 下午6:41.

*/

@Slf4j

public class ExceptionLogUtils {

public static void log(Throwable e,Class c){

Logger logger = LoggerFactory.getLogger(c);

// logger.error("错误堆栈", e);

StackTraceElement s= e.getStackTrace()[0];//数组长度为 1

logger.error("nn-----------------"+

"n报错文件名:"+s.getFileName()+

"n报错的类:"+s.getClassName()+

"n报错方法::"+s.getMethodName()+

"n报错的行:"+ s.getLineNumber()+

"n报错的message:"+ e.getMessage()+

"n错误堆栈:n"+getStackTrace(e)+

"n------------------nn");

}

/**

* 获取堆栈信息

* @param throwable

* @return

*/

public static String getStackTrace(Throwable throwable){

StringWriter sw = new StringWriter();

PrintWriter pw = new PrintWriter(sw);

try

{

throwable.printStackTrace(pw);

return sw.toString();

} finally

{

pw.close();

}

}

public static void logInfo(String msg,Class c){

Logger logger = LoggerFactory.getLogger(c);

StackTraceElement[] stacks = Thread.currentThread().getStackTrace();//数组长度为 3

logger.info("nn**************"+

"n打印文件名:"+stacks[2].getFileName() +

"n打印类名:"+ stacks[2].getClassName() +

"n方法名:" + stacks[2].getMethodName() +

"n行号:" + stacks[2].getLineNumber() +

"n打印内容:"+msg+

"n**************nn");

}

}

4、打印变量

log.info("admin[{}],[{}],[{}];请求地址:[{}];访问ip:[{}]", CasConfig.RemoteUserUtil.getRemoteUserId(),CasConfig.RemoteUserUtil.getRemoteUserAccount(),CasConfig.RemoteUserUtil.getRemoteUserName(),request.getRequestURL(), IpUtil.getIp());

如果满意,请打赏博主任意金额,感兴趣的在微信转账的时候,添加博主微信哦, 请下方留言吧。可与博主自由讨论哦

支付包

微信

微信公众号

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。