Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
顾剑亮
/
AIOBOX
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 709ec17e
由
顾剑亮
编写于
2020-05-12 11:45:48 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
coding
1 个父辈
9a7eb2f5
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
10 行增加
和
161 行删除
.vs/AIOBOX/v16/.suo
AIOBOX/AIOBOX.cs
AIOBOX/AIOBOX.csproj
AIOBOX/Log.cs
AIOBOX/Properties/AssemblyInfo.cs
AIOBOX/bin/Debug/Asa.IOModule.AIOBOX.dll
AIOBOX/bin/Debug/Asa.IOModule.AIOBOX.pdb
AIOBOX/bin/Debug/Asa.IOModule.AIOBOX.xml
AIOBOX/obj/Debug/AIOBOX.csproj.CoreCompileInputs.cache
AIOBOX/obj/Debug/AIOBOX.csproj.FileListAbsolute.txt
AIOBOX/obj/Debug/AIOBOX.csprojAssemblyReference.cache
AIOBOX/obj/Debug/Asa.IOModule.AIOBOX.dll
AIOBOX/obj/Debug/Asa.IOModule.AIOBOX.pdb
.vs/AIOBOX/v16/.suo
查看文件 @
709ec17
此文件类型无法预览
AIOBOX/AIOBOX.cs
查看文件 @
709ec17
此文件的差异被折叠,
点击展开。
AIOBOX/AIOBOX.csproj
查看文件 @
709ec17
...
...
@@ -64,7 +64,6 @@
</ItemGroup>
<ItemGroup>
<Compile Include="AIOBOX.cs" />
<Compile Include="Log.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
...
...
AIOBOX/Log.cs
deleted
100644 → 0
查看文件 @
9a7eb2f
using
System
;
using
System.Reflection
;
using
System.Diagnostics
;
namespace
Asa.IOModule
{
/// <summary>
/// 日志操作类
/// </summary>
internal
class
LogFile
{
//private string args;
private
bool
loop
;
private
System
.
IO
.
FileStream
fs
;
private
StackTrace
trace
;
private
StackFrame
frame
;
private
MethodBase
method
;
private
System
.
Threading
.
Thread
tSave
;
private
System
.
Collections
.
Concurrent
.
ConcurrentQueue
<
string
>
info
;
private
readonly
string
PATH
;
/// <summary>
/// 日志
/// </summary>
/// <param name="path">文件夹路径</param>
/// <param name="ip"></param>
internal
LogFile
(
string
path
,
string
ip
)
{
if
(
path
==
null
)
return
;
//this.args = ip;
PATH
=
path
.
EndsWith
(
"\\"
)
?
path
:
path
+
"\\"
;
if
(!
System
.
IO
.
Directory
.
Exists
(
PATH
))
System
.
IO
.
Directory
.
CreateDirectory
(
PATH
);
loop
=
true
;
tSave
=
new
System
.
Threading
.
Thread
(
new
System
.
Threading
.
ThreadStart
(
SaveLog
));
info
=
new
System
.
Collections
.
Concurrent
.
ConcurrentQueue
<
string
>();
tSave
.
Start
();
string
file
=
string
.
Format
(
"{0}{1:yyyy-MM-dd}_({2}).log"
,
PATH
,
DateTime
.
Now
,
ip
);
fs
=
System
.
IO
.
File
.
OpenWrite
(
file
);
fs
.
Position
=
fs
.
Length
;
}
/// <summary>
/// 关闭文件
/// </summary>
internal
void
Close
()
{
loop
=
false
;
System
.
Threading
.
Thread
.
Sleep
(
5
);
if
(
fs
!=
null
)
fs
.
Close
();
}
/// <summary>
/// 输出错误
/// </summary>
/// <param name="s"></param>
internal
void
OutError
(
string
s
)
{
if
(
string
.
IsNullOrWhiteSpace
(
s
))
return
;
trace
=
new
StackTrace
(
true
);
frame
=
trace
.
GetFrame
(
1
);
string
name
=
frame
.
GetFileName
();
name
=
System
.
IO
.
Path
.
GetFileName
(
name
);
string
log
=
string
.
Format
(
"[{0:HH:mm:ss.fff}] ERROR {1}({2},{3})\r\n"
,
DateTime
.
Now
,
name
,
frame
.
GetFileLineNumber
(),
frame
.
GetFileColumnNumber
());
string
[]
arr
=
new
string
[
trace
.
FrameCount
-
1
];
for
(
int
i
=
1
;
i
<
trace
.
FrameCount
;
i
++)
//0是本身Out
{
method
=
trace
.
GetFrame
(
i
).
GetMethod
();
arr
[
arr
.
Length
-
i
]
=
" "
+
method
.
DeclaringType
.
FullName
+
" -> "
+
method
.
ToString
();
}
log
+=
string
.
Join
(
"\r\n"
,
arr
)
+
string
.
Format
(
"\r\n {0}\r\n"
,
s
);
//byte[] array = System.Text.Encoding.UTF8.GetBytes(log);
//fs.Write(array, 0, array.Length);
info
.
Enqueue
(
log
);
}
/// <summary>
/// 输出信息
/// </summary>
/// <param name="s"></param>
internal
void
OutInfo
(
string
s
)
{
if
(
string
.
IsNullOrWhiteSpace
(
s
))
return
;
trace
=
new
StackTrace
(
true
);
frame
=
trace
.
GetFrame
(
1
);
method
=
trace
.
GetFrame
(
1
).
GetMethod
();
string
name
=
frame
.
GetFileName
();
name
=
System
.
IO
.
Path
.
GetFileName
(
name
);
string
s1
=
method
.
DeclaringType
.
FullName
;
string
s2
=
method
.
Name
;
string
log
=
string
.
Format
(
"[{0:HH:mm:ss.fff}] INFO {1}({2},{3}) {4} -> {5}\r\n {6}\r\n"
,
DateTime
.
Now
,
name
,
frame
.
GetFileLineNumber
(),
frame
.
GetFileColumnNumber
(),
s1
,
s2
,
s
);
//byte[] array = System.Text.Encoding.UTF8.GetBytes(log);
//fs.Write(array, 0, array.Length);
info
.
Enqueue
(
log
);
}
/// <summary>
/// 输出数据
/// </summary>
/// <param name="tr"></param>
/// <param name="buff"></param>
internal
void
OutData
(
string
tr
,
byte
[]
buff
)
{
string
log
=
string
.
Format
(
"{0:HH:mm:ss.fff} {1} "
,
DateTime
.
Now
,
tr
);
for
(
int
i
=
0
;
i
<
buff
.
Length
;
i
++)
log
+=
buff
[
i
].
ToString
(
"X2"
)
+
" "
;
log
+=
"\r\n"
;
//byte[] array = System.Text.Encoding.UTF8.GetBytes(log);
//fs.Write(array, 0, array.Length);
info
.
Enqueue
(
log
);
}
/// <summary>
/// 输出数据
/// </summary>
/// <param name="s"></param>
internal
void
OutData
(
string
s
)
{
string
log
=
string
.
Format
(
"{0:HH:mm:ss.fff} {1}\r\n"
,
DateTime
.
Now
,
s
);
//byte[] array = System.Text.Encoding.UTF8.GetBytes(log);
//fs.Write(array, 0, array.Length);
info
.
Enqueue
(
log
);
}
internal
void
SaveLog
()
{
while
(
loop
)
{
try
{
if
(
info
.
TryDequeue
(
out
string
result
))
{
byte
[]
array
=
System
.
Text
.
Encoding
.
UTF8
.
GetBytes
(
result
);
fs
.
Write
(
array
,
0
,
array
.
Length
);
}
}
catch
(
Exception
)
{
}
System
.
Threading
.
Thread
.
Sleep
(
2
);
}
}
}
}
AIOBOX/Properties/AssemblyInfo.cs
查看文件 @
709ec17
...
...
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.3.0.
4
")]
[assembly: AssemblyFileVersion("2.3.0.
4
")]
[assembly: AssemblyVersion("2.3.0.
6
")]
[assembly: AssemblyFileVersion("2.3.0.
6
")]
AIOBOX/bin/Debug/Asa.IOModule.AIOBOX.dll
查看文件 @
709ec17
此文件类型无法预览
AIOBOX/bin/Debug/Asa.IOModule.AIOBOX.pdb
查看文件 @
709ec17
此文件类型无法预览
AIOBOX/bin/Debug/Asa.IOModule.AIOBOX.xml
查看文件 @
709ec17
此文件的差异被折叠,
点击展开。
AIOBOX/obj/Debug/AIOBOX.csproj.CoreCompileInputs.cache
查看文件 @
709ec17
9428b515b65d7e804ec8e058ca7770707ab7571d
6b9117074f0ff97736a34c4c150b6b18b33edbb4
AIOBOX/obj/Debug/AIOBOX.csproj.FileListAbsolute.txt
查看文件 @
709ec17
...
...
@@ -39,3 +39,10 @@ D:\OneDrive - 上海挚锦科技有限公司\SMD\DLL\AIOBOX\obj\Debug\AIOBOX.csp
D:\OneDrive - 上海挚锦科技有限公司\SMD\DLL\AIOBOX\obj\Debug\AIOBOX.csproj.CoreCompileInputs.cache
D:\OneDrive - 上海挚锦科技有限公司\SMD\DLL\AIOBOX\obj\Debug\Asa.IOModule.AIOBOX.dll
D:\OneDrive - 上海挚锦科技有限公司\SMD\DLL\AIOBOX\obj\Debug\Asa.IOModule.AIOBOX.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\AIOBOX\AIOBOX\bin\Debug\Asa.IOModule.AIOBOX.xml
D:\OneDrive - 上海挚锦科技有限公司\SMD\AIOBOX\AIOBOX\bin\Debug\Asa.IOModule.AIOBOX.dll
D:\OneDrive - 上海挚锦科技有限公司\SMD\AIOBOX\AIOBOX\bin\Debug\Asa.IOModule.AIOBOX.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\AIOBOX\AIOBOX\obj\Debug\AIOBOX.csproj.CoreCompileInputs.cache
D:\OneDrive - 上海挚锦科技有限公司\SMD\AIOBOX\AIOBOX\obj\Debug\Asa.IOModule.AIOBOX.dll
D:\OneDrive - 上海挚锦科技有限公司\SMD\AIOBOX\AIOBOX\obj\Debug\Asa.IOModule.AIOBOX.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\AIOBOX\AIOBOX\obj\Debug\AIOBOX.csprojAssemblyReference.cache
AIOBOX/obj/Debug/AIOBOX.csprojAssemblyReference.cache
查看文件 @
709ec17
此文件类型无法预览
AIOBOX/obj/Debug/Asa.IOModule.AIOBOX.dll
查看文件 @
709ec17
此文件类型无法预览
AIOBOX/obj/Debug/Asa.IOModule.AIOBOX.pdb
查看文件 @
709ec17
此文件类型无法预览
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论