Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
d9904034
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dbeaver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d9904034
编写于
1月 06, 2018
作者:
A
Alexander Fedorov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#2556 add IStatus handling to Log
Former-commit-id:
c3f054ae
上级
5dc6f39c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
258 addition
and
270 deletion
+258
-270
plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/core/DebugCore.java
...ebug.core/src/org/jkiss/dbeaver/debug/core/DebugCore.java
+0
-34
plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/internal/core/ProcedureDebugControllerRegistry.java
...debug/internal/core/ProcedureDebugControllerRegistry.java
+1
-1
plugins/org.jkiss.dbeaver.debug.ui/src/org/jkiss/dbeaver/debug/ui/DebugUI.java
...aver.debug.ui/src/org/jkiss/dbeaver/debug/ui/DebugUI.java
+1
-2
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/Log.java
...ns/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/Log.java
+256
-233
未找到文件。
plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/core/DebugCore.java
浏览文件 @
d9904034
...
...
@@ -124,40 +124,6 @@ public class DebugCore {
}
}
// FIXME: AF: move to org.jkiss.dbeaver.Log
public
static
void
log
(
Log
delegate
,
IStatus
status
)
{
if
(
delegate
==
null
)
{
// no way to log
return
;
}
if
(
status
==
null
)
{
// nothing to log
return
;
}
int
severity
=
status
.
getSeverity
();
String
message
=
status
.
getMessage
();
Throwable
exception
=
status
.
getException
();
switch
(
severity
)
{
case
IStatus
.
CANCEL
:
delegate
.
debug
(
message
,
exception
);
break
;
case
IStatus
.
ERROR
:
delegate
.
error
(
message
,
exception
);
break
;
case
IStatus
.
WARNING
:
delegate
.
warn
(
message
,
exception
);
break
;
case
IStatus
.
INFO
:
delegate
.
info
(
message
,
exception
);
break
;
case
IStatus
.
OK
:
delegate
.
trace
(
message
,
exception
);
break
;
default
:
break
;
}
}
public
static
Status
newErrorStatus
(
String
message
,
Throwable
th
)
{
return
new
Status
(
IStatus
.
ERROR
,
BUNDLE_SYMBOLIC_NAME
,
message
,
th
);
}
...
...
plugins/org.jkiss.dbeaver.debug.core/src/org/jkiss/dbeaver/debug/internal/core/ProcedureDebugControllerRegistry.java
浏览文件 @
d9904034
...
...
@@ -36,7 +36,7 @@ public class ProcedureDebugControllerRegistry implements DBGControllerRegistry<D
return
controller
;
}
}
catch
(
CoreException
e
)
{
DebugCore
.
log
(
log
,
e
.
getStatus
());
Log
.
log
(
log
,
e
.
getStatus
());
}
return
null
;
}
...
...
plugins/org.jkiss.dbeaver.debug.ui/src/org/jkiss/dbeaver/debug/ui/DebugUI.java
浏览文件 @
d9904034
...
...
@@ -22,7 +22,6 @@ import org.eclipse.core.runtime.Status;
import
org.eclipse.ui.IEditorInput
;
import
org.eclipse.ui.IEditorPart
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.debug.core.DebugCore
;
import
org.jkiss.dbeaver.model.navigator.DBNDatabaseNode
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.ui.editors.DatabaseEditorInput
;
...
...
@@ -52,7 +51,7 @@ public class DebugUI {
}
public
static
void
log
(
IStatus
status
)
{
DebugCore
.
log
(
log
,
status
);
Log
.
log
(
log
,
status
);
}
}
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/Log.java
浏览文件 @
d9904034
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver
;
import
org.eclipse.core.runtime.ILog
;
import
org.eclipse.core.runtime.Status
;
import
org.jkiss.dbeaver.bundle.ModelActivator
;
import
org.jkiss.dbeaver.utils.GeneralUtils
;
import
org.jkiss.utils.ArrayUtils
;
import
java.io.PrintStream
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
/**
* Log
*/
public
class
Log
{
private
static
String
corePluginID
=
ModelPreferences
.
PLUGIN_ID
;
private
static
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss.SSS"
);
private
static
final
ILog
eclipseLog
=
ModelActivator
.
getInstance
().
getLog
();
private
static
Listener
[]
listeners
=
new
Listener
[
0
];
private
final
String
name
;
public
static
ILog
getEclipseLog
()
{
return
eclipseLog
;
}
public
static
Log
getLog
(
Class
<?>
forClass
)
{
return
new
Log
(
forClass
.
getName
());
}
private
Log
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getName
()
{
return
name
;
}
public
boolean
isDebugEnabled
()
{
return
true
;
}
public
boolean
isErrorEnabled
()
{
return
true
;
}
public
boolean
isFatalEnabled
()
{
return
true
;
}
public
boolean
isInfoEnabled
()
{
return
true
;
}
public
boolean
isTraceEnabled
()
{
return
false
;
}
public
boolean
isWarnEnabled
()
{
return
true
;
}
public
void
trace
(
Object
message
)
{
}
public
void
trace
(
Object
message
,
Throwable
t
)
{
}
public
void
debug
(
Object
message
)
{
if
(
message
instanceof
Throwable
)
{
debug
(
message
.
toString
(),
(
Throwable
)
message
);
}
else
{
debug
(
message
,
null
);
}
}
public
void
debug
(
Object
message
,
Throwable
t
)
{
ModelActivator
activator
=
ModelActivator
.
getInstance
();
debugMessage
(
message
,
t
,
System
.
err
);
// if (activator != null) {
// debugMessage(message, t, activator.getDebugWriter());
// }
}
private
static
void
debugMessage
(
Object
message
,
Throwable
t
,
PrintStream
debugWriter
)
{
synchronized
(
Log
.
class
)
{
debugWriter
.
print
(
sdf
.
format
(
new
Date
())
+
" - "
);
debugWriter
.
println
(
message
);
if
(
t
!=
null
)
{
t
.
printStackTrace
(
debugWriter
);
}
debugWriter
.
flush
();
for
(
Listener
listener
:
listeners
)
{
listener
.
loggedMessage
(
message
,
t
);
}
}
}
public
void
info
(
Object
message
)
{
if
(
message
instanceof
Throwable
)
{
info
(
message
.
toString
(),
(
Throwable
)
message
);
return
;
}
debugMessage
(
message
,
null
,
System
.
err
);
eclipseLog
.
log
(
new
Status
(
Status
.
INFO
,
corePluginID
,
message
==
null
?
null
:
message
.
toString
()));
}
public
void
info
(
Object
message
,
Throwable
t
)
{
writeExceptionStatus
(
Status
.
INFO
,
message
,
t
);
}
public
void
warn
(
Object
message
)
{
if
(
message
instanceof
Throwable
)
{
warn
(
message
.
toString
(),
(
Throwable
)
message
);
return
;
}
debugMessage
(
message
,
null
,
System
.
err
);
ModelActivator
.
getInstance
().
getLog
().
log
(
new
Status
(
Status
.
WARNING
,
corePluginID
,
message
==
null
?
null
:
message
.
toString
()));
}
public
void
warn
(
Object
message
,
Throwable
t
)
{
writeExceptionStatus
(
Status
.
WARNING
,
message
,
t
);
}
public
void
error
(
Object
message
)
{
if
(
message
instanceof
Throwable
)
{
error
(
null
,
(
Throwable
)
message
);
return
;
}
debugMessage
(
message
,
null
,
System
.
err
);
ModelActivator
.
getInstance
().
getLog
().
log
(
new
Status
(
Status
.
ERROR
,
corePluginID
,
message
==
null
?
null
:
message
.
toString
()));
}
public
void
error
(
Object
message
,
Throwable
t
)
{
writeExceptionStatus
(
Status
.
ERROR
,
message
,
t
);
}
public
void
fatal
(
Object
message
)
{
error
(
message
);
}
public
void
fatal
(
Object
message
,
Throwable
t
)
{
error
(
message
,
t
);
}
private
static
void
writeExceptionStatus
(
int
severity
,
Object
message
,
Throwable
t
)
{
debugMessage
(
message
,
t
,
System
.
err
);
ModelActivator
activator
=
ModelActivator
.
getInstance
();
if
(
activator
!=
null
)
{
// Activator may be null in some unclear circumstances (like shutdown is in progress)
ILog
log
=
activator
.
getLog
();
if
(
log
!=
null
)
{
if
(
t
==
null
)
{
log
.
log
(
new
Status
(
severity
,
corePluginID
,
message
==
null
?
null
:
message
.
toString
()));
}
else
{
if
(
message
==
null
)
{
log
.
log
(
GeneralUtils
.
makeExceptionStatus
(
severity
,
t
));
}
else
{
log
.
log
(
GeneralUtils
.
makeExceptionStatus
(
severity
,
message
.
toString
(),
t
));
}
}
}
}
}
public
static
void
addListener
(
Listener
listener
)
{
synchronized
(
Log
.
class
)
{
listeners
=
ArrayUtils
.
add
(
Listener
.
class
,
listeners
,
listener
);
}
}
public
static
void
removeListener
(
Listener
listener
)
{
synchronized
(
Log
.
class
)
{
listeners
=
ArrayUtils
.
remove
(
Listener
.
class
,
listeners
,
listener
);
}
}
public
static
interface
Listener
{
void
loggedMessage
(
Object
message
,
Throwable
t
);
}
}
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver
;
import
org.eclipse.core.runtime.ILog
;
import
org.eclipse.core.runtime.IStatus
;
import
org.eclipse.core.runtime.Status
;
import
org.jkiss.dbeaver.bundle.ModelActivator
;
import
org.jkiss.dbeaver.utils.GeneralUtils
;
import
org.jkiss.utils.ArrayUtils
;
import
java.io.PrintStream
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
/**
* Log
*/
public
class
Log
{
private
static
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss.SSS"
);
//$NON-NLS-1$
private
static
final
ILog
eclipseLog
=
ModelActivator
.
getInstance
().
getLog
();
private
static
Listener
[]
listeners
=
new
Listener
[
0
];
private
final
String
name
;
public
static
ILog
getEclipseLog
()
{
return
eclipseLog
;
}
public
static
Log
getLog
(
Class
<?>
forClass
)
{
return
new
Log
(
forClass
.
getName
());
}
public
static
void
log
(
Log
delegate
,
IStatus
status
)
{
if
(
status
==
null
)
{
// nothing to log
return
;
}
if
(
delegate
==
null
)
{
getEclipseLog
().
log
(
status
);
// no way to log
return
;
}
int
severity
=
status
.
getSeverity
();
String
message
=
status
.
getMessage
();
Throwable
exception
=
status
.
getException
();
switch
(
severity
)
{
case
IStatus
.
CANCEL
:
delegate
.
debug
(
message
,
exception
);
break
;
case
IStatus
.
ERROR
:
delegate
.
error
(
message
,
exception
);
break
;
case
IStatus
.
WARNING
:
delegate
.
warn
(
message
,
exception
);
break
;
case
IStatus
.
INFO
:
delegate
.
info
(
message
,
exception
);
break
;
case
IStatus
.
OK
:
delegate
.
trace
(
message
,
exception
);
break
;
default
:
break
;
}
}
private
Log
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getName
()
{
return
name
;
}
public
boolean
isDebugEnabled
()
{
return
true
;
}
public
boolean
isErrorEnabled
()
{
return
true
;
}
public
boolean
isFatalEnabled
()
{
return
true
;
}
public
boolean
isInfoEnabled
()
{
return
true
;
}
public
boolean
isTraceEnabled
()
{
return
false
;
}
public
boolean
isWarnEnabled
()
{
return
true
;
}
public
void
trace
(
Object
message
)
{
}
public
void
trace
(
Object
message
,
Throwable
t
)
{
}
public
void
debug
(
Object
message
)
{
if
(
message
instanceof
Throwable
)
{
debug
(
message
.
toString
(),
(
Throwable
)
message
);
}
else
{
debug
(
message
,
null
);
}
}
public
void
debug
(
Object
message
,
Throwable
t
)
{
debugMessage
(
message
,
t
,
System
.
err
);
}
private
static
void
debugMessage
(
Object
message
,
Throwable
t
,
PrintStream
debugWriter
)
{
synchronized
(
Log
.
class
)
{
debugWriter
.
print
(
sdf
.
format
(
new
Date
())
+
" - "
);
//$NON-NLS-1$
debugWriter
.
println
(
message
);
if
(
t
!=
null
)
{
t
.
printStackTrace
(
debugWriter
);
}
debugWriter
.
flush
();
for
(
Listener
listener
:
listeners
)
{
listener
.
loggedMessage
(
message
,
t
);
}
}
}
public
void
info
(
Object
message
)
{
if
(
message
instanceof
Throwable
)
{
info
(
message
.
toString
(),
(
Throwable
)
message
);
return
;
}
debugMessage
(
message
,
null
,
System
.
err
);
int
severity
=
Status
.
INFO
;
getEclipseLog
().
log
(
createStatus
(
severity
,
message
));
}
public
void
info
(
Object
message
,
Throwable
t
)
{
writeExceptionStatus
(
Status
.
INFO
,
message
,
t
);
}
public
void
warn
(
Object
message
)
{
if
(
message
instanceof
Throwable
)
{
warn
(
message
.
toString
(),
(
Throwable
)
message
);
return
;
}
debugMessage
(
message
,
null
,
System
.
err
);
int
severity
=
Status
.
WARNING
;
getEclipseLog
().
log
(
createStatus
(
severity
,
message
));
}
public
void
warn
(
Object
message
,
Throwable
t
)
{
writeExceptionStatus
(
Status
.
WARNING
,
message
,
t
);
}
public
void
error
(
Object
message
)
{
if
(
message
instanceof
Throwable
)
{
error
(
null
,
(
Throwable
)
message
);
return
;
}
debugMessage
(
message
,
null
,
System
.
err
);
int
severity
=
Status
.
ERROR
;
getEclipseLog
().
log
(
createStatus
(
severity
,
message
));
}
public
void
error
(
Object
message
,
Throwable
t
)
{
writeExceptionStatus
(
Status
.
ERROR
,
message
,
t
);
}
public
void
fatal
(
Object
message
)
{
error
(
message
);
}
public
void
fatal
(
Object
message
,
Throwable
t
)
{
error
(
message
,
t
);
}
private
static
void
writeExceptionStatus
(
int
severity
,
Object
message
,
Throwable
t
)
{
debugMessage
(
message
,
t
,
System
.
err
);
ILog
log
=
getEclipseLog
();
if
(
t
==
null
)
{
log
.
log
(
createStatus
(
severity
,
message
));
}
else
{
if
(
message
==
null
)
{
log
.
log
(
GeneralUtils
.
makeExceptionStatus
(
severity
,
t
));
}
else
{
log
.
log
(
GeneralUtils
.
makeExceptionStatus
(
severity
,
message
.
toString
(),
t
));
}
}
}
private
static
Status
createStatus
(
int
severity
,
Object
message
)
{
//we never include Exception to the status for some reason
return
new
Status
(
severity
,
ModelPreferences
.
PLUGIN_ID
,
message
==
null
?
null
:
message
.
toString
());
}
public
static
void
addListener
(
Listener
listener
)
{
synchronized
(
Log
.
class
)
{
listeners
=
ArrayUtils
.
add
(
Listener
.
class
,
listeners
,
listener
);
}
}
public
static
void
removeListener
(
Listener
listener
)
{
synchronized
(
Log
.
class
)
{
listeners
=
ArrayUtils
.
remove
(
Listener
.
class
,
listeners
,
listener
);
}
}
public
static
interface
Listener
{
void
loggedMessage
(
Object
message
,
Throwable
t
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录