首先,为主观探测标题道歉.这是一个直接的问题.
目前我正在研究一套工具:
目前,Windows服务已经被开发为控制台应用程序(以便于调试/开发),我正在将这些服务转换为服务.在使用这些服务测试了几天后,我发现我想增加日志记录的粒度.我发现我想念Console.WriteLine(),我想为这种类型的输出提供一个替代日志源,如平面文件.这让我想到,"我应该使用框架,还是让我受够了?"
我之所以提到我正在开发的方面的原因是为了解我的情况.已经创建了一个"核心"DLL,在所有组件中都是通用的,从而抽象出应用程序和数据库之间的交互层.在此DLL中,已创建一个类,该类将尝试"登录到数据库中的表",否则将失败"登录到本地事件日志".就是这样,这就是记录的程度.
在上述工具中,有多个日志记录实例与以下内容不同:
Log.LogError("Code", e.Message + "\n" + e.StackTrace);
Run Code Online (Sandbox Code Playgroud)
虽然非常基本,但这种方法确实利用反射来识别错误的来源.
我的问题
看看我目前的日志记录解决方案,就其功能以及如何与我的所有解决方案集成而言,它似乎"足够".但是,我一直在寻找日志框架(特别是log4net),它们的功能让我印象深刻.如果将来需要,能够添加另一种输出格式(例如SMTP服务器)对我来说听起来很酷!:)
我想知道移植到框架(如log4net)的好处?我需要调整代码的程度?我是否只是看着另一边更绿的草?最后,但最重要的是,我做的是正确的吗?我应该只将我的Log类的功能添加到"LogDebug"并完成它吗?我想要做的最后一件事就是彻底检修我的套件,只是为了一个"基本"功能,但如果有其他好处(设计,依赖,良好实践等等)我很感兴趣.
谢谢,
我正在玩 django 并构建了一个小应用程序,用户可以在其中通过 url http:///localhost:8000/username/info/访问他们的信息。我想添加通过http:///localhost:8000/username/info/edit/编辑该信息的功能,但还想确保当前登录的用户(使用 django.contrib.auth)只能访问他的信息。我通过在视图中执行以下操作来完成此操作(视图 args 中的用户名是从 url 中捕获的):
@login_required
def edit_info(request, username=''):
if request.user.username == username:
# allow accessing and editing the info..
else:
# redirect to some error page
Run Code Online (Sandbox Code Playgroud)
所以,显然,我不希望用户“johnny”通过简单地将他的浏览器指向/jimmy/info/edit/来编辑属于用户“jimmy”的信息。以上工作,但我担心的是,就安全而言,我在这里遗漏了一些东西。这是解决这个问题的正确方法吗?谢谢。
我经常使用小方法来协助调试,这些方法在实际程序中没有使用.通常,我的大多数类都有一个AsString方法,我将其添加到手表中.我知道Delphi 2010有可视化工具,但我还在2007年.
考虑这个例子:
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
type
TMyClass = class
F : integer;
function AsString : string;
end;
function TMyClass.AsString: string;
begin
Result := 'Test: '+IntToStr(F);
end;
function SomeTest(aMC : TMyClass) : boolean;
begin
//I want to be able to watch aMC.AsString while debugging this complex routine!
Result := aMC.F > 100;
end;
var
X : TMyClass;
begin
X := TMyClass.Create;
try
X.F := 100;
if SomeTest(X)
then writeln('OK')
else writeln('Fail');
finally
X.Free;
end;
readln;
end.
Run Code Online (Sandbox Code Playgroud)
如果我将X.AsString作为监视添加,我只是得到"要调用的函数,TMyClass.AsString,被链接器删除". …
有人测试过IE 8开发者工具栏吗?它真的像萤火虫一样好吗?
以前我发布了一个关于多线程的问题.实际上我的意图是通过使用c#和asp.net应用程序在同一时间点(例如:凌晨12:00)向1000(或更多)人发送短信.可以选择多线程概念来实现这一目标吗?
我想将一个变量存储到磁盘或注册表中,以便下次运行计划脚本时可以使用它?最好是一个或两个......
干杯,罗伊
如何添加新的css类或id,然后在firebug的右侧css窗格中为html元素编写属性.就像我们可以在web开发人员工具栏中编写>编辑css
有没有办法让正在运行的进程可以删除自己的可执行文件?
例如,我创建一个控制台应用程序(单个exe),并在执行某些任务后以某种方式删除exe文件.
我必须向某人发送一个文件.我希望它在完成预定任务后删除.
无论如何都要在Windows中执行此操作
存储(非可变)格式的数据的最佳方法是什么:
doodahs = {
0-256: "FOO",
257: "BAR",
258: "FISH",
279: "MOOSE",
280-65534: "Darth Vader",
65535: "Death to all newbies" }
Run Code Online (Sandbox Code Playgroud)
我有相对大量的这类数据集,所以我可以定义字典(或接近它)的方式和通过索引访问.
哦,这是在Python 2.4上,所以如果你想让我使用更新的版本,请给出真正很好的升级理由(我会去3 :)