导航:首页 > 编程系统 > linuxlog4j乱码

linuxlog4j乱码

发布时间:2023-08-22 14:38:32

linuxjava运行出错

你的log4j配置文件有错误,你看看你的log4j用的是properties文件还是xml文件,在里面搜manager,把相关的段删掉就ok了

❷ 使用JDBC向mysql数据库插入中文乱码如何解决url、数据库属性和workspace的编码库均设成utf-8,始终乱码

String sql ="insert into userinfo(name,pwd) values(?,?)";

PreparedStatementpst=getConnection().prepareStatement(sql);

pst.setString(1,"小明");

pst.setString(2,"123");

pst.executeUpdate();

小伙子给你写了一个通用的增删改查的工具类,你那样写太麻烦

资源文件jdbc.properties

jdbc.Driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/xxx
jdbc.username=root
jdbc.password=root

packagecom.;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.ResultSetMetaData;
importjava.sql.SQLException;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Properties;

importorg.apache.commons.beanutils.BeanUtils;
importorg.apache.log4j.Logger;

publicclassBaseDao{

privatestaticStringDRIVDR;
privatestaticStringURL;
privatestaticStringUSER;
privatestaticStringPWD;
;
=newProperties();
privatestaticLoggerlogger=Logger.getLogger(BaseDao.class);
;
privatestaticResultSetrs;
privatestaticfinalStringCLASS_NOT_EXCEPTION="驱动加载失败";

static{
try{
properties.load(BaseDao.class.getResourceAsStream("/jdbc.properties"));
DRIVDR=properties.getProperty("jdbc.Driver");
URL=properties.getProperty("jdbc.url");
USER=properties.getProperty("jdbc.username");
PWD=properties.getProperty("jdbc.password");
Class.forName(DRIVDR);
}catch(Exceptione){
logger.debug(CLASS_NOT_EXCEPTION+e.getMessage());
}

}

/**
*通用的增删改
*
*@paramsql
*@paramargs
*@return
*/
publicstaticintexecuteCommand(Stringsql,Object...args){
intm=0;
try{
initPreparedStatement(sql,args);
m=pst.executeUpdate();
}catch(Exceptione){
logger.debug("执行增、删、该。错误。。请检查preparedStatement参数。。。"+e.getMessage());
}finally{
closeAll(null,pst,connection);
}
returnm;
}

(Stringsql,Object...args){
try{
pst=getConnection().prepareStatement(sql);
if(args!=null){
for(inti=0;i<args.length;i++){
pst.setObject(i+1,args[i]);
}
}

}catch(Exceptione){
logger.debug("为pst对象赋值错误。。请检查preparedStatement参数。。。"+e.getMessage());
}
returnpst;
}
/**
*通用的执行聚合函数
*@paramsql
*@paramargs
*@return
*/
publicstaticintexecuteScalare(Stringsql,Object...args){
intcount=0;
initPreparedStatement(sql,args);
try{
rs=pst.executeQuery();
if(rs.next()){
count=rs.getInt(1);
}
}catch(SQLExceptione){
logger.debug("执行聚合函数出错。。。请检查preparedStatement参数。。。"+e.getMessage());
}finally{
closeAll(rs,pst,connection);
}
returncount;

}


/**
*根据id查询单个对象
*@paramsql
*@paramclazz
*@paramargs
*@return
*/
publicstatic<T>TfindById(Stringsql,Class<T>clazz,Object...args){
Tt=null;
try{
initPreparedStatement(sql,args);
rs=pst.executeQuery();

ResultSetMetaDatametaData=rs.getMetaData();
//以上的代码:获取元数据(各个字段的数据类型)
intcount=metaData.getColumnCount();
//获取字段的数量

if(rs.next()){
try{
t=clazz.newInstance();//利用反射自动创建对象的类型的对象User.classUser
//u=newUser();
for(inti=1;i<=count;i++){
BeanUtils.Property(t,metaData.getColumnName(i),rs.getObject(i));
//自动获取各个字段的名称并获取该字段的值
}
}catch(Exceptione){
logger.debug("查询单个对象,错误。。请检查preparedStatement参数。。。。"+e.getMessage());
}


}

}catch(SQLExceptione){
logger.debug("查询失败。。。。。"+e.getMessage());
}
returnt;
}

/**
*通用的查询
*
*@paramsql
*@paramclazz
*@paramargs
*@return
*/
publicstatic<T>List<T>findAll(Stringsql,Class<T>clazz,Object...args){
List<T>list=newArrayList<T>(100);
Tt=null;
try{
initPreparedStatement(sql,args);
rs=pst.executeQuery();

ResultSetMetaDatametaData=rs.getMetaData();
//以上的代码:获取元数据(各个字段的数据类型)
intcount=metaData.getColumnCount();
//获取字段的数量

while(rs.next()){
try{
t=clazz.newInstance();//利用反射自动创建对象的类型的对象User.classUser
//u=newUser();
for(inti=1;i<=count;i++){
BeanUtils.Property(t,metaData.getColumnName(i),rs.getObject(i));
//自动获取各个字段的名称并获取该字段的值
}
}catch(Exceptione){
logger.debug("查询集合,错误。。。。。"+e.getMessage());
}

list.add(t);//将对象添加到集合中
}

}catch(SQLExceptione){
logger.debug("查询失败。。。。。"+e.getMessage());
}

returnlist;
}

(){
try{
if(connection==null||connection.isClosed()){
connection=DriverManager.getConnection(URL,USER,PWD);
}
}catch(SQLExceptione){
logger.debug("获取connection失败,请检查配置文件!"+e.getMessage());
}
returnconnection;
}

publicstaticvoidcloseAll(ResultSetrs,PreparedStatementpst,Connectionconn){
if(rs!=null)
try{
rs.close();
}catch(SQLExceptione){
logger.debug("关闭ResultSet错误。。。。。"+e.getMessage());
}
if(pst!=null)
try{
pst.close();
}catch(SQLExceptione){
logger.debug("关闭PreparedStatement错误。。。。。"+e.getMessage());
}
if(conn!=null)
closeConnection(conn);
}

(Connectionconn){
try{
if(!conn.isClosed()){
conn.close();
}
}catch(SQLExceptione){
logger.debug("关闭Connection错误。。。。。"+e.getMessage());
}finally{
conn=null;
}

}

publicstaticvoidmain(String[]args){
System.out.println(BaseDao.getConnection());
}
}

❸ 在linux下配置log4j

其实主要矛盾是在linux下的物理路径问题:

1、使用<%=application.getRealPath("/")%>测试出当前站点在系统中的绝对路径,如:/vhost/6/6/2/net66243875/www/

2、修改输出源中文件位置如:

# 每天新建日志
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=/vhost/6/6/2/net66243875/www/log.txt
log4j.appender.A1.Encoding=utf-8
log4j.appender.A1.Threshold=DEBUG
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n

❹ java高手帮忙看下,log4J怎么输入到里面出现乱码怎么解决

log4j.appender.rootFileApd.Encoding=UTF-8 把你的GBK换成UTF-8看看

❺ java中tomcat启动时log4j中文乱码如何处理

是因为输出日志的编码和当前系统的编码不一样

❻ log4j日志文件乱码怎么办,如何解决

解决方法如下:

如果是log4j.properties为配置文件,比如:

[c-sharp]viewplain

log4j.appender.A1=org.apache.log4j.RollingFileAppender

log4j.appender.A1.File=all.log

加入一行:

[c-sharp]viewplain

log4j.appender.A1=org.apache.log4j.RollingFileAppender

log4j.appender.A1.Encoding=UTF-8

log4j.appender.A1.File=all.log

如果是log4j.xml为配置文件,比如:

[c-sharp]viewplain

<appendername="A1"class="org.apache.log4j.RollingFileAppender">

<paramname="File"value="all.log"/>

......

</appender>

加入一行:

[c-sharp]viewplain

<appendername="A1"class="org.apache.log4j.RollingFileAppender">

<paramname="Encoding"value="UTF-8"/>

<paramname="File"value="all.log"/>

......

</appender>

原理:

log4j通过QuietWriter写日志,QuietWriter extends FilterWriter,FilterWriter extends Writer,而Writer写入的是字符流,对字符集比较敏感。英文系统一般默认latin-1字符集,只能处理半角,通过encoding指定字符集后,能够正确输出指定字符集的字符流。

字符集指定后,WriterAppender的setEncoding通过org.apache.log4j.config.PropertySetter.setProperties(Object obj, Properties properties, String prefix)设置字符集。

❼ linux查看日志,如何解决字符串乱码

主要思路有两种抄:【1】本地客户端编码设置错了如果你用的是putty 一、Linux系统的设置
1)关闭Linux的防火墙
#iptables -F
#iptables save
2)编辑/etc/sysconfig/i18n,将LANG=en_US.UTF-8改为LANG=zh_CN.UTF-8
SUPPORT=en_US.UTF-8….也作类似改动,接下来执行:
#. /etc/sysconfig/i18n
#locale (检查本地locale)
如果看到显示了LANG=zh_CN.UTF-8等信息,表明改动成功。【2】服务器不支持中文字符串显示【3】有可能是程序代码例如log4j文件设置错了
--------------------- 建议看看这本书《Linux就该这么学》

在Xshell、putty、SSH Secure Shell Client 等等客户端设置utf8的编码就可以了,在“文件”选项里点开“属性”一项进行设置,如下图:

❽ springboot jar包在linux下运行,log4j日志 中文乱码怎么办

解决方法:
如果是log4j.properties为配置文件专,比如:属
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=all.log

❾ springboot jar包在linux下运行,log4j日志 中文乱码怎么办

解决方法:
如果是log4j.properties为配置文件,比如:
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=all.log

阅读全文

与linuxlog4j乱码相关的资料

热点内容
创建网页用什么编程语言 浏览:526
考研哪个app好 浏览:30
计算机网络的概念是什么 浏览:625
网络硬盘存储制作 浏览:4
iphone怎么备份数据到电脑 浏览:41
微信小程序报表控件 浏览:722
ipad添加不了qq邮箱账号和密码 浏览:503
matlab中文文件名 浏览:236
excel是啥类型文件 浏览:471
安庆培训编程怎么选 浏览:817
vs2010mfc工具箱 浏览:402
删除文件重置win10怎么恢复 浏览:180
新装win10有线连不上 浏览:785
数据库商品名唯一怎么标注 浏览:214
电信5g网络什么时候出 浏览:626
手机如何把视频打包到文件夹里面 浏览:248
excel数据转vcf文件 浏览:585
编程题如何左右翻转 浏览:920
wp10微信安装不了 浏览:793
微软数据库密码怎么改 浏览:627

友情链接