C# Class Subtext.Framework.Logging.Log

Provides logging for the Subtext framework. This class is typically instantiated as a private static readonly member of a class in order to handle logging inside of the class. This class is a specialized wrapper for the log4net framework.
DEBUG The M:Subtext.Framework.Logging.Log.Debug(System.Object) and M:Subtext.Framework.Logging.Log.DebugFormat(System.String,System.Object[]) methods log messages at the DEBUG level. That is the level with that name defined in the log4net repositories. The P:Subtext.Framework.Logging.Log.IsDebugEnabled property tests if this level is enabled for logging. INFO The M:Subtext.Framework.Logging.Log.Info(System.Object) and M:Subtext.Framework.Logging.Log.InfoFormat(System.String,System.Object[]) methods log messages at the INFO level. That is the level with that name defined in the log4net repositories. The P:Subtext.Framework.Logging.Log.IsInfoEnabled property tests if this level is enabled for logging. WARN The M:Subtext.Framework.Logging.Log.Warn(System.Object) and M:Subtext.Framework.Logging.Log.WarnFormat(System.String,System.Object[]) methods log messages at the WARN level. That is the level with that name defined in the log4net repositories. The P:Subtext.Framework.Logging.Log.IsWarnEnabled property tests if this level is enabled for logging. ERROR The M:Subtext.Framework.Logging.Log.Error(System.Object) and M:Subtext.Framework.Logging.Log.ErrorFormat(System.String,System.Object[]) methods log messages at the ERROR level. That is the level with that name defined in the log4net repositories. The P:Subtext.Framework.Logging.Log.IsErrorEnabled property tests if this level is enabled for logging. FATAL The M:Subtext.Framework.Logging.Log.Fatal(System.Object) and M:Subtext.Framework.Logging.Log.FatalFormat(System.String,System.Object[]) methods log messages at the FATAL level. That is the level with that name defined in the log4net repositories. The P:Subtext.Framework.Logging.Log.IsFatalEnabled property tests if this level is enabled for logging.
Inheritance: log4net.ILog
显示文件 Open project: ayende/Subtext

Public Methods

Method Description
Debug ( object message ) : void

Logs a message object with the DEBUG level.

This method first checks if this logger is DEBUG enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

WARNING Note that passing an T:System.Exception to this method will print the name of the T:System.Exception but no stack trace. To print a stack trace use the M:Subtext.Framework.Logging.Log.Debug(System.Object,System.Exception) form instead.

This method is compiled to nothing if DEBUG compilation constant is not set (production build).

Debug ( object message, Exception exception ) : void

Logs a message object with the DEBUG level.

This method first checks if this logger is DEBUG enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

This method is compiled to nothing if DEBUG compilation constant is not set (production build).

DebugFormat ( IFormatProvider provider, string format ) : void

Logs a message with the DEBUG level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Debug(System.Object) methods instead.

This method is compiled to nothing if DEBUG compilation constant is not set (production build).

DebugFormat ( string format ) : void

Logs a message with the DEBUG level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Debug(System.Object) methods instead.

DebugFormat ( string format, object arg0 ) : void
DebugFormat ( string format, object arg0, object arg1 ) : void
DebugFormat ( string format, object arg0, object arg1, object arg2 ) : void
Error ( object message ) : void

Logs a message object with the ERROR level.

This method first checks if this logger is ERROR enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

WARNING Note that passing an T:System.Exception to this method will print the name of the T:System.Exception but no stack trace. To print a stack trace use the M:Subtext.Framework.Logging.Log.Error(System.Object,System.Exception) form instead.

Error ( object message, Exception exception ) : void

Logs a message object with the ERROR level.

This method first checks if this logger is ERROR enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

ErrorFormat ( IFormatProvider provider, string format ) : void

Logs a message with the ERROR level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Error(System.Object) methods instead.

ErrorFormat ( string format ) : void

Logs a message with the ERROR level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Error(System.Object) methods instead.

ErrorFormat ( string format, object arg0 ) : void
ErrorFormat ( string format, object arg0, object arg1 ) : void
ErrorFormat ( string format, object arg0, object arg1, object arg2 ) : void
Fatal ( object message ) : void

Logs a message object with the FATAL level.

This method first checks if this logger is FATAL enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

WARNING Note that passing an T:System.Exception to this method will print the name of the T:System.Exception but no stack trace. To print a stack trace use the M:Subtext.Framework.Logging.Log.Fatal(System.Object,System.Exception) form instead.

Fatal ( object message, Exception exception ) : void

Logs a message object with the FATAL level.

This method first checks if this logger is FATAL enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

FatalFormat ( IFormatProvider provider, string format ) : void

Logs a message with the FATAL level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Fatal(System.Object) methods instead.

FatalFormat ( string format ) : void

Logs a message with the FATAL level.

The message is formatted using the String.Format method. of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Fatal(System.Object) methods instead.

FatalFormat ( string format, object arg0 ) : void
FatalFormat ( string format, object arg0, object arg1 ) : void
FatalFormat ( string format, object arg0, object arg1, object arg2 ) : void
Info ( object message ) : void

Logs a message object with the INFO level.

This method first checks if this logger is INFO enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

WARNING Note that passing an T:System.Exception to this method will print the name of the T:System.Exception but no stack trace. To print a stack trace use the M:Subtext.Framework.Logging.Log.Info(System.Object,System.Exception) form instead.

Info ( object message, Exception exception ) : void

Logs a message object with the INFO level.

This method first checks if this logger is INFO enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

InfoFormat ( IFormatProvider provider, string format ) : void

Logs a message with the INFO level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Info(System.Object) methods instead.

InfoFormat ( string format ) : void

Logs a message with the INFO level.

The message is formatted using the String.Format method. of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Info(System.Object) methods instead.

InfoFormat ( string format, object arg0 ) : void
InfoFormat ( string format, object arg0, object arg1 ) : void
InfoFormat ( string format, object arg0, object arg1, object arg2 ) : void
Log ( log4net.ILog innerLogger ) : System

Instantiates a log which wraps the specified inner logger.

Log ( Type type ) : System

Instantiates a log using the P:System.Type.FullName of the suppled type of the class as the name.

ResetBlogIdContext ( ) : void

Resets blog id context in the Log4net ThreadContext.

SetBlogIdContext ( int blogId ) : void

Sets the blog id context in the Log4net ThreadContext.

Warn ( object message ) : void

Logs a message object with the WARN level.

This method first checks if this logger is WARN enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

WARNING Note that passing an T:System.Exception to this method will print the name of the T:System.Exception but no stack trace. To print a stack trace use the M:Subtext.Framework.Logging.Log.Warn(System.Object,System.Exception) form instead.

Warn ( object message, Exception exception ) : void

Logs a message object with the WARN level.

This method first checks if this logger is WARN enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

WarnFormat ( IFormatProvider provider, string format ) : void

Logs a message with the WARN level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Warn(System.Object) methods instead.

WarnFormat ( string format ) : void

Logs a message with the WARN level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Warn(System.Object) methods instead.

WarnFormat ( string format, object arg0 ) : void
WarnFormat ( string format, object arg0, object arg1 ) : void
WarnFormat ( string format, object arg0, object arg1, object arg2 ) : void

Private Methods

Method Description
CreateInnerLogger ( Type type ) : log4net.ILog
GetCallerType ( ) : Type
Log ( ) : System
SetUrlContext ( ) : void

Method Details

Debug() public method

Logs a message object with the DEBUG level.

This method first checks if this logger is DEBUG enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

WARNING Note that passing an T:System.Exception to this method will print the name of the T:System.Exception but no stack trace. To print a stack trace use the M:Subtext.Framework.Logging.Log.Debug(System.Object,System.Exception) form instead.

This method is compiled to nothing if DEBUG compilation constant is not set (production build).

public Debug ( object message ) : void
message object The message object to log
return void

Debug() public method

Logs a message object with the DEBUG level.

This method first checks if this logger is DEBUG enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

This method is compiled to nothing if DEBUG compilation constant is not set (production build).

public Debug ( object message, Exception exception ) : void
message object The message object to log
exception System.Exception The exception to log, including its stack trace
return void

DebugFormat() public method

Logs a message with the DEBUG level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Debug(System.Object) methods instead.

This method is compiled to nothing if DEBUG compilation constant is not set (production build).

public DebugFormat ( IFormatProvider provider, string format ) : void
provider IFormatProvider An that supplies culture-specific formatting information
format string A containing zero or more format items
return void

DebugFormat() public method

Logs a message with the DEBUG level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Debug(System.Object) methods instead.

public DebugFormat ( string format ) : void
format string A containing zero or more format items
return void

DebugFormat() public method

public DebugFormat ( string format, object arg0 ) : void
format string
arg0 object
return void

DebugFormat() public method

public DebugFormat ( string format, object arg0, object arg1 ) : void
format string
arg0 object
arg1 object
return void

DebugFormat() public method

public DebugFormat ( string format, object arg0, object arg1, object arg2 ) : void
format string
arg0 object
arg1 object
arg2 object
return void

Error() public method

Logs a message object with the ERROR level.

This method first checks if this logger is ERROR enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

WARNING Note that passing an T:System.Exception to this method will print the name of the T:System.Exception but no stack trace. To print a stack trace use the M:Subtext.Framework.Logging.Log.Error(System.Object,System.Exception) form instead.

public Error ( object message ) : void
message object The message object to log
return void

Error() public method

Logs a message object with the ERROR level.

This method first checks if this logger is ERROR enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

public Error ( object message, Exception exception ) : void
message object The message object to log
exception System.Exception The exception to log, including its stack trace
return void

ErrorFormat() public method

Logs a message with the ERROR level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Error(System.Object) methods instead.

public ErrorFormat ( IFormatProvider provider, string format ) : void
provider IFormatProvider An that supplies culture-specific formatting information
format string A containing zero or more format items
return void

ErrorFormat() public method

Logs a message with the ERROR level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Error(System.Object) methods instead.

public ErrorFormat ( string format ) : void
format string A containing zero or more format items
return void

ErrorFormat() public method

public ErrorFormat ( string format, object arg0 ) : void
format string
arg0 object
return void

ErrorFormat() public method

public ErrorFormat ( string format, object arg0, object arg1 ) : void
format string
arg0 object
arg1 object
return void

ErrorFormat() public method

public ErrorFormat ( string format, object arg0, object arg1, object arg2 ) : void
format string
arg0 object
arg1 object
arg2 object
return void

Fatal() public method

Logs a message object with the FATAL level.

This method first checks if this logger is FATAL enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

WARNING Note that passing an T:System.Exception to this method will print the name of the T:System.Exception but no stack trace. To print a stack trace use the M:Subtext.Framework.Logging.Log.Fatal(System.Object,System.Exception) form instead.

public Fatal ( object message ) : void
message object The message object to log
return void

Fatal() public method

Logs a message object with the FATAL level.

This method first checks if this logger is FATAL enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

public Fatal ( object message, Exception exception ) : void
message object The message object to log
exception System.Exception The exception to log, including its stack trace
return void

FatalFormat() public method

Logs a message with the FATAL level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Fatal(System.Object) methods instead.

public FatalFormat ( IFormatProvider provider, string format ) : void
provider IFormatProvider An that supplies culture-specific formatting information
format string A containing zero or more format items
return void

FatalFormat() public method

Logs a message with the FATAL level.

The message is formatted using the String.Format method. of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Fatal(System.Object) methods instead.

public FatalFormat ( string format ) : void
format string A containing zero or more format items
return void

FatalFormat() public method

public FatalFormat ( string format, object arg0 ) : void
format string
arg0 object
return void

FatalFormat() public method

public FatalFormat ( string format, object arg0, object arg1 ) : void
format string
arg0 object
arg1 object
return void

FatalFormat() public method

public FatalFormat ( string format, object arg0, object arg1, object arg2 ) : void
format string
arg0 object
arg1 object
arg2 object
return void

Info() public method

Logs a message object with the INFO level.

This method first checks if this logger is INFO enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

WARNING Note that passing an T:System.Exception to this method will print the name of the T:System.Exception but no stack trace. To print a stack trace use the M:Subtext.Framework.Logging.Log.Info(System.Object,System.Exception) form instead.

public Info ( object message ) : void
message object The message object to log
return void

Info() public method

Logs a message object with the INFO level.

This method first checks if this logger is INFO enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

public Info ( object message, Exception exception ) : void
message object The message object to log
exception System.Exception The exception to log, including its stack trace
return void

InfoFormat() public method

Logs a message with the INFO level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Info(System.Object) methods instead.

public InfoFormat ( IFormatProvider provider, string format ) : void
provider IFormatProvider An that supplies culture-specific formatting information
format string A containing zero or more format items
return void

InfoFormat() public method

Logs a message with the INFO level.

The message is formatted using the String.Format method. of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Info(System.Object) methods instead.

public InfoFormat ( string format ) : void
format string A containing zero or more format items
return void

InfoFormat() public method

public InfoFormat ( string format, object arg0 ) : void
format string
arg0 object
return void

InfoFormat() public method

public InfoFormat ( string format, object arg0, object arg1 ) : void
format string
arg0 object
arg1 object
return void

InfoFormat() public method

public InfoFormat ( string format, object arg0, object arg1, object arg2 ) : void
format string
arg0 object
arg1 object
arg2 object
return void

Log() public method

Instantiates a log which wraps the specified inner logger.
public Log ( log4net.ILog innerLogger ) : System
innerLogger log4net.ILog of the class to create a log for
return System

Log() public method

Instantiates a log using the P:System.Type.FullName of the suppled type of the class as the name.
public Log ( Type type ) : System
type System.Type of the class to create a log for
return System

ResetBlogIdContext() public static method

Resets blog id context in the Log4net ThreadContext.
public static ResetBlogIdContext ( ) : void
return void

SetBlogIdContext() public static method

Sets the blog id context in the Log4net ThreadContext.
public static SetBlogIdContext ( int blogId ) : void
blogId int Blog id.
return void

Warn() public method

Logs a message object with the WARN level.

This method first checks if this logger is WARN enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

WARNING Note that passing an T:System.Exception to this method will print the name of the T:System.Exception but no stack trace. To print a stack trace use the M:Subtext.Framework.Logging.Log.Warn(System.Object,System.Exception) form instead.

public Warn ( object message ) : void
message object The message object to log
return void

Warn() public method

Logs a message object with the WARN level.

This method first checks if this logger is WARN enabled. If so, it converts the message object (passed as parameter) to a string by invoking the appropriate T:log4net.ObjectRenderer.IObjectRenderer. It then proceeds to call all the registered appenders in this logger and also higher in the hierarchy depending on the value of the additivity flag.

public Warn ( object message, Exception exception ) : void
message object The message object to log
exception System.Exception The exception to log, including its stack trace
return void

WarnFormat() public method

Logs a message with the WARN level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Warn(System.Object) methods instead.

public WarnFormat ( IFormatProvider provider, string format ) : void
provider IFormatProvider An that supplies culture-specific formatting information
format string A containing zero or more format items
return void

WarnFormat() public method

Logs a message with the WARN level.

The message is formatted using the String.Format method. See M:System.String.Format(System.String,System.Object) for details of the syntax of the format string and the behavior of the formatting.

This method does not take an T:System.Exception object to include in the log event. To pass an T:System.Exception use one of the M:Subtext.Framework.Logging.Log.Warn(System.Object) methods instead.

public WarnFormat ( string format ) : void
format string A containing zero or more format items
return void

WarnFormat() public method

public WarnFormat ( string format, object arg0 ) : void
format string
arg0 object
return void

WarnFormat() public method

public WarnFormat ( string format, object arg0, object arg1 ) : void
format string
arg0 object
arg1 object
return void

WarnFormat() public method

public WarnFormat ( string format, object arg0, object arg1, object arg2 ) : void
format string
arg0 object
arg1 object
arg2 object
return void