用saltapi远程操作tomcat启停时,输出日志乱码再解决
以前解决过一次,是定义LC_ALL为指定编码。但这种思路不完全,因为机器各各不同,系统编码本身不一致(标准化之路漫长啊)
故而在其它一些系统的部署时,用上一次的方案,反而会有错误产生。
于是,按洪军找到的另一种方案,这次理想多了。
URL如下:
http://blog.csdn.net/hnhuangyiyang/article/details/50421738
这个帖子操作的是命令行,如果作API的话,要变换一下。
# ok
def cmd_run(self, tgt, arg, expr_form='compound', fun='cmd.run'):
r = requests.post(self.host, verify=False, cookies=self.cookies, data={'tgt': tgt,
'client': 'local',
'expr_form': expr_form,
'fun': fun,
'arg': arg})
if r.status_code == 200:
# print r.json()
return r.json()
else:
raise Exception('Error from source %s' % r.text)
# ok
def cmd_script(self, tgt, arg, expr_form='compound', fun='cmd.script'):
r = requests.post(self.host, verify=False, cookies=self.cookies, data={'tgt': tgt,
'client': 'local',
'expr_form': expr_form,
'fun': fun,
'arg': arg})
if r.status_code == 200:
# print r.json()
return r.json()
else:
raise Exception('Error from source %s' % r.text)
调用:
args = [salt_cmd.strip(), server_type+' '+site_name+' '+app+' '+deploy_version+' '+action+' '+is_inc_tot+' '+server_env, 'runas='+op_name, 'env={"LC_ALL": ""}']
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
命令行执行:
如:
salt '10.0.10.100' cmd.run 'locale' env='{"LC_ALL": ""}' #增加参数env='{"LC_ALL": ""}'
编写state.sls:
locale:
cmd.run:
- name: locale
- env:
- LC_ALL: ""
以上即可解决执行cmdmod.py修改字符集的问题。
值得庆幸的是,https://github.com/saltstack/salt上目前最新版的salt 2015.8.3已经将这个问题解决了,新的cmdmod.py源码修改了。
用saltapi远程操作tomcat启停时,输出日志乱码再解决的更多相关文章
- resin后台输出中文乱码的解决的方法!
近期从tomcat移植到resin,发现这东西不错啊! 仅仅是后台输出时有时候中文会乱码. 如今找到resin后台输出中文乱码的解决的方法: 编辑conf/resin.con文件: <!--ja ...
- resin后台输出中文乱码的解决办法!
resin后台输出中文乱码的解决办法! 学习了:https://blog.csdn.net/kobeguang/article/details/34116429 编辑conf/resin.con文件: ...
- tomcat的日志不输出日志信息的解决方法
1.下载日志jar包,例如:commons-logging-1.1.1.jar.放在tomcat的bin目录下,或者是自己项目的lib包里. 2.修改tomcat的bin目录下面的catalina.b ...
- tomcat 下catalina.out 日志乱码问题处理
问题: 项目部署到Linux服务器之后,控制台 catalina.out 文件输出的中文为乱码: 解决办法: 方法一:修改tomcat下的模板编码 bin/catalina.sh 文件添加如下配置:J ...
- log4j输出日志乱码(转)
log4j日志文件乱码问题的解决方法 log4j日志文件中文乱码处理方法 log4j 控制台和文件输出乱码问题解决 写在前面,第三篇文章中将原因解释的最清楚,为什么设置为UTF-8或者GBK就生效了, ...
- 05 sublime环境配置及编译运行后输出中文乱码的解决
编译后的乱码问题 编译后的输出:中文显示异常: 编译C出现乱码问题解决 解决思路:解决办法很简单,就是先设置文件编码为GBK格式,之后再输入中文文字,运行时的中文就不是乱码了. 首先,sublime中 ...
- tomcat启动 ssm项目出现乱码的解决
0.乱码产生原因:编码和解码的方式是不同 1.出现乱码的解决方式[推荐]: 在tomcat 的配置文件web.xml 中添加上请求编码过滤器: <!-- 请求编码过滤器 --> <f ...
- linux-2 下tomcat重启定向输出日志
#!/bin/sh pid=`ps aux | grep tomcat | grep -v grep | awk '{print $2}'` echo $pid if [ -n "$pid& ...
- 运行 Tomcat, 在 Intellij IDEA 控制台输出中文乱码的解决方法
打开 Run/Debug Configurations → Tomcat Server → 要运行的 Tomcat → Server 页签,在 VM options 中输入: -Dfile.encod ...
随机推荐
- framebuffer的入门介绍-实现程序分析【转】
本文转载自:http://blog.csdn.net/liuzijiang1123/article/details/46972723 如想想对lcd屏进行操作(例如在lcd屏幕上画线,或者显示视频数据 ...
- Hamming Distance(随机算法)
http://acm.hdu.edu.cn/showproblem.php?pid=4712 题意:计算任意两个十六进制的数异或后1的最少个数. 思路:用随机数随机产生两个数作为下标,记录这两个数异或 ...
- autofac的小知识点
autofac 注入中i遇到的泛型传参问题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...
- oracle 创建命令
环境变量设置(在Sqlplus中执行) create or replace directory filepath as 'D:\ORACLEBACKUP'; 备份脚本:expdp system/123 ...
- Java多线程技术-Lock/Condition
在java1.5中Lock对象来实现同步的效果,而且使用上更方便. 使用ReentrantLock实现同步 public class MyService { private Lock lock = n ...
- 2.sql server的管理
sql server的管理:需要安装sql server 2005或者sql server 2008,若要使用sqlserver管理工具进行开发还要安装sql server management st ...
- 5.27 sorm图
- Activity生命周期(待整理)
1. 定义 有一些方法共同定义生命周期,如下图示:(图片来自于官网文档) 2. onStart()——在Activity即将对用户可见之前调用 (1)Activity启动动画.二维动画在onStart ...
- RunLoop相关知识
RunLoop,翻译过来是运行环路.我们在创建命令行项目和创建ios项目时,发现命令行项目当最后一行代码执行完后项目就自动退出了,而ios项目确可以一直运行,知道用户手动点击退出按钮.这就是因为ios ...
- hibernate_04_hbm.xml介绍
先贴上类文件Students.hbm.xml <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC & ...