如何更改loggingGoogle App Engine中模块的输出格式?
我试过了,例如:
log_format = "* %(asctime)s %(levelname)-8s %(message)s"
date_format = "%a, %d %b %Y %H:%M:%S"
console = logging.StreamHandler()
fr = logging.Formatter(log_format)
console.setFormatter(fr)
logger = logging.getLogger()
logger.addFilter(SuperfluousFilter())
logger.addHandler(console)
logger.setLevel(logging.DEBUG)
console.setLevel(logging.DEBUG)
logging.error("Reconfiguring logging")
Run Code Online (Sandbox Code Playgroud)
但是,这会导致重复的日志记录输出:一个包含来自google/appengine/tools/dev_appserver.py(或在Google代码中的某个位置)的日志记录处理程序,另一个来自我StreamHandler上面的新文件.以上代码输出:
ERROR 2010-06-23 20:46:18,871 initialize.py:38] Reconfiguring logging 2010-06-23 20:46:18,871 ERROR Reconfiguring logging
顶行显然dev_appserver.py来自我的代码的底线.
所以我想推论的问题是:如何更改Google App Engine的格式,同时避免重复输出?
谢谢你的阅读.
布赖恩
我正在使用VCL控件在Borland C++ Builder IDE中工作.我试图让一个TStringGrid组件向下滚动到一行,并根据不同形式的用户输入突出显示该行.我完成了高亮部分,但我无法弄清楚如何将网格向下滚动到正确的行.这里有人知道吗?
我目前的代码目录结构如下:
src
|-- main
| `-- java
| `-- com
| `-- upthescala
| `-- tags
| `-- ViewProtectTag.java
|-- test
|-- pom.xml
|-- .project
|-- .classpath
`-- .hgignore
Run Code Online (Sandbox Code Playgroud)
我想为我的JSP标记包含一个tld文件,我不知道在哪里打包它.我最初的想法是添加一个src/main/resources目录并放入META-INF/viewprotect.tld其中.
我可以得到一个简单的例子,使用PHP的SoapClient类对Paypal进行空调,除了版本号之外什么都没有?我有正确的WSDL URL和服务器URL,所以这不是我需要帮助的.这就是我所拥有的:
public function SOAPcall($function, $args=array()) {
$args['Version'] = '63.0';
$args = new SoapVar($args, SOAP_ENC_ARRAY, $function.'_Request');
$args = array(new SoapVar($args, SOAP_ENC_ARRAY, $function.'_Req', 'urn:ebay:api:PayPalAPI'));
$results = $this->soapClient->__soapCall($function, $args, array('location' => $this->activeKeys['certificate']), $this->soapOptions);
}
Run Code Online (Sandbox Code Playgroud)
我希望没关系,我没有展示一切.请求的正文完全错误,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="urn:ebay:api:PayPalAPI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="urn:ebay:apis:eBLBaseComponents">
<SOAP-ENV:Header>
<ns1:RequesterCredentials>
<ns2:Credentials>
<ns2:Username>xxx</ns2:Username>
<ns2:Password>xxx</ns2:Password>
<ns2:Signature>xxx</ns2:Signature>
</ns2:Credentials>
</ns1:RequesterCredentials>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:GetBalanceReq xsi:type="ns1:GetBalance_Req">
<xsd:string>63.0</xsd:string>
</ns1:GetBalanceReq>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Run Code Online (Sandbox Code Playgroud)
它应该如下所示:
<?xml version=”1.0” encoding=”UTF-8”?>
<SOAP-ENV:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:SOAP-ENC=”http://schemas.xmlsoap.org/soap/encoding/”
xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”
><SOAP-ENV:Header>
<RequesterCredentials xmlns=”urn:ebay:api:PayPalAPI”>
<Credentials xmlns=”urn:ebay:apis:eBLBaseComponents”>
<Username>api_username</Username>
<Password>api_password</Password>
<Signature/>
<Subject/>
</Credentials>
</RequesterCredentials>
</SOAP-ENV:Header> …Run Code Online (Sandbox Code Playgroud) 有没有办法模拟块中的break语句dispatch_apply()?
例如,我见过处理枚举块的每个Cocoa API都有一个"停止"参数:
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger i, BOOL *stop) {
if ([obj isNotVeryNice]) {
*stop = YES; // No more enumerating!
} else {
NSLog(@"%@ at %zu", obj, i);
}
}];
Run Code Online (Sandbox Code Playgroud)
GCD有类似的东西吗?
cocoa objective-c break grand-central-dispatch objective-c-blocks
我有以下代码:
var commitmentItems = new List<CommitmentItem<ITransaction>>();
commitmentItems.Add(new CapitalCallCommitmentItem());
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Argument '1': cannot convert from 'Models.CapitalCallCommitmentItem' to
'Models.CommitmentItem<Models.ITransaction>'
Run Code Online (Sandbox Code Playgroud)
但是,CapitalCallCommitmentItem继承自CommitmentItem<CapitalCall>并CapitalCall实现ITransaction.那么为什么会出错呢?
这是一个更好的例子:
CapitalCall 器物 ITransaction
var test = new List<ITransaction>();
test.Add(new CapitalCall());
var test2 = new List<List<ITransaction>>();
test.Add(new List<CapitalCall>()); // error.
Run Code Online (Sandbox Code Playgroud) 众所周知如何通过使用来捕获浮点除零异常
signal(SIGFPE, handler)
Run Code Online (Sandbox Code Playgroud)
但即使我设置控制字,它也不会捕获整数除零问题
_control87(0, _MCW_EM ); (MS VC 2010)
Run Code Online (Sandbox Code Playgroud)
SubQuestion_1:如何在不使用SEH EXCEPTION_INT_DIVIDE_BY_ZERO的情况下在Windows中的C程序中捕获整数除零?(在Unix/Linux中,这可以通过使用标准信号/ SIGFPE技术来完成)
编辑:信号是ANSI C信号处理方法.
_control87是设置浮点控制字的标准Windows函数.
类似的问题:如何统一处理所有错误,包括内部C库错误
注(来自ISO/IEC 9899:TC2 Annex H.2.2):
"有符号的C整数类型int,long int,long long int和相应的无符号类型与LIA?1兼容.... C的无符号整数类型在LIA?1意义上是'modulo''溢出或out-of-bounds结果静默包装.定义有符号整数类型也是模数的实现不需要检测整数溢出,在这种情况下,只需要检测整数除零. "
?最终解决方案:
对于Windows:它会引发SEH异常.所以它可以通过使用__try __except来捕获.作为可能的解决方案,可以使用SEH转换来处理SEH异常并将它们转换为所需功能的调用.它不是一种"自然"的方式,但它似乎是唯一的方式.
对于Unix:它可以用signal/SIGFPE解决方案捕获.或者查看wiki以获取FPE_INTDIV解决方案(http://rosettacode.org/wiki/Detect_division_by_zero#C).
由于GMan对"未定义的行为"是正确的,我选择他的答案是正确的.
注意:检查VC\crt\src\winxfltr.c:_XcptActTab数组很有意思:)
我想调整python中图像的颜色级别.我可以使用任何可以轻松安装在我的Ubuntu桌面上的python库.我想和ImageMagick一样-level(http://www.imagemagick.org/www/command-line-options.html#level).PIL(Python图像库)似乎没有它.我一直在调用convert图像然后再次读回文件,但这看起来很浪费.有更好/更快的方式吗?
python image imagemagick image-processing python-imaging-library
python ×2
break ×1
c ×1
c# ×1
c++builder ×1
cocoa ×1
covariance ×1
delphi ×1
generics ×1
image ×1
imagemagick ×1
iphone ×1
java ×1
jsp ×1
jsp-tags ×1
logging ×1
math ×1
maven-2 ×1
objective-c ×1
paypal ×1
php ×1
scala ×1
soap-client ×1
tstringgrid ×1
vcl ×1