有谁知道如何或是否可以将 cURL 详细输出重定向到日志记录模块?现在,详细输出全部发送到标准输出,但我想将其通过管道传输到正在保存到文件中的logging.debug。
请注意,我不想将所有控制台输出通过管道传输到日志记录。另外,我确实有一个字符串缓冲区来捕获 pycurl.WRITEFUNCTION 但是它似乎没有捕获 VERBOSE 输出。
当前代码:
logging.debug('starting setopt_put for url: %s',api_url)
self._podium_curl_setopt_base(api_url.url + api_args)
self._podium_curl.setopt(pycurl.HTTPGET, 1)
self._podium_curl.setopt(pycurl.WRITEFUNCTION, self._string_buffer.write)
self._podium_curl.setopt(pycurl.VERBOSE, True)
self._podium_curl.perform()
logging.info(_string_buffer.getvalue())
Run Code Online (Sandbox Code Playgroud)
谢谢!
我目前正在学习WPF,DataContexts和DataBinding.我的目标是使用一个任务栏任务(使用NotifyIconWpf),该任务具有运行后台的连续线程来监视网络.
我设法获得绑定到ProgramClock类的UI元素(显示在屏幕截图中),但是当ProgramClock更改时它不会更新,很可能是因为INotifyPropertyChanged参数中的某些内容是错误的.
我发现最接近的类似问题是UI未更新INotifyPropertyChanged但是我无法弄清楚要在XAML中更改DataPath的内容,或者如何使INotifyPropertyChanged正常工作.
请注意,BackgroundWorker线程成功更新了App的静态ProgramClock(使用单独的WinForm进行检查),并且该时间最初是在WPF中加载的,因此可能没有正确调用PropertyChanged.

ProgramClock
public class ProgramClock : INotifyPropertyChanged
{
private DateTime _myTime;
public event PropertyChangedEventHandler PropertyChanged;
private ClockController clockController;
public ProgramClock()
{
this._myTime = DateTime.Now;
clockController = new ClockController();
MessageBox.Show("created new clock");
}
public DateTime MyTime
{
get
{
return this._myTime;
}
set
{
if (_myTime == value) return;
_myTime = value;
//System.Windows.Forms.MessageBox.Show(PropertyChanged.ToString());
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(_myTime.ToString()));
}
}
public string MyTimeString
{
get { return this._myTime.ToString(); }
}
public void UpdateTime()
{ …Run Code Online (Sandbox Code Playgroud)