用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 ...
随机推荐
- Android入门之文件系统操作(一)简单的文件浏览器
版权声明:本文为博主原创文章,未经博主允许不得转载. import java.io.File; import java.util.*; import android.app.Activit ...
- hdu 2177(威佐夫博奕+打表)
取(2堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- hdoj--5619--Jam's store(最小费用最大流)
Jam's store Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tota ...
- openstack 性能优化极致
- 87.Ext_菜单组件_Ext.menu.Menu
转自:https://blog.csdn.net/lms1256012967/article/details/52574921 菜单组件常用配置: /* Ext.menu.Menu主要配置项表: it ...
- vim gvim技巧大全(9)(转载)
vim gvim技巧大全(9) 2 用命令}移动到这个段落的底部,标记为b3 输入命令:'a,'b move来移动文本.老版本的Vi编辑器不能很好的来处理多文件.但是Vim在处理多文件上却显得优秀得多 ...
- Spring Boot 打 war 包的步骤
## Spring Boot 打 war 包的步骤 1. 添加 spring-boot-start-tomcat 的 provided 依赖 ``` <dependency> <gr ...
- idea UML快捷键
- BZOJ 1583
思路: 维护两个指针pointer_1和pointer_2 代表用算法一走到的位置 和算法2走到的位置 若 算法一<算法2 数组后面就插入算法一的解 pointer_1++ (记得判重) (这 ...
- JavaScript 函数 伪数组 arguments
一.函数 函数:函数就是将一些语言进行封装,然后通过调用的形式,执行这些语句. 函数的作用: 1.将大量重复的语句写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动 2.简化编程,让变 ...