我有一个命令行工具,可以生成大量日志。stdout我希望这些日志一完成就发送给他们。现在,程序完成所有内容(可能需要几分钟),然后将所有内容stdout一次性发送给所有人。这意味着目前用户不知道内部发生了什么,我想改变这一点。
到目前为止,我已经尝试将-u标志作为命令行参数传递,但这并没有改变任何东西。我有一种感觉,我需要以某种方式使用logging.handlers.BufferingHandlerwith flush(),但我一直无法通过修补来弄清楚。
def some_func(flag: bool):
if flag:
logging.info('flag is truthy')
return
logging.warning('flag is falsy')
Run Code Online (Sandbox Code Playgroud)
我希望上述函数在创建日志后立即向用户显示其中一个日志。注意:目前我使用logging.root.setLevel(logging.INFO).
谢谢!
我目前遇到一个问题,即当我选择TextFormField小部件内的任何小部件时,键盘不出现Form。这是表单的代码,它位于我的CreateAccountFormStateful 小部件内。
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:sign_up_page/constants.dart';
class CreateAccountForm extends StatefulWidget {
@override
_CreateAccountFormState createState() => _CreateAccountFormState();
}
class _CreateAccountFormState extends State<CreateAccountForm> {
final _formKey = GlobalKey<FormState>();
@override
Widget build(BuildContext context) {
return Form(
key: _formKey,
child: Column(
children: <Widget>[
CustomTextFormField(
labelText: "Email",
keyboardType: TextInputType.emailAddress,
),
Spacer(),
CustomTextFormField(labelText: "Full name"),
Spacer(),
CustomTextFormField(
labelText: "Password",
isPassword: true,
),
Spacer(),
RaisedButton(
onPressed: () {
print("Get started button pressed");
},
padding: EdgeInsets.all(20.0),
color: blueMaterialColor.shade100,
shape: defaultRectangularButtonShape, …Run Code Online (Sandbox Code Playgroud)