XFEExtension.NetCore.XFEConsole
2.2.2
dotnet add package XFEExtension.NetCore.XFEConsole --version 2.2.2
NuGet\Install-Package XFEExtension.NetCore.XFEConsole -Version 2.2.2
<PackageReference Include="XFEExtension.NetCore.XFEConsole" Version="2.2.2" />
<PackageVersion Include="XFEExtension.NetCore.XFEConsole" Version="2.2.2" />
<PackageReference Include="XFEExtension.NetCore.XFEConsole" />
paket add XFEExtension.NetCore.XFEConsole --version 2.2.2
#r "nuget: XFEExtension.NetCore.XFEConsole, 2.2.2"
#:package XFEExtension.NetCore.XFEConsole@2.2.2
#addin nuget:?package=XFEExtension.NetCore.XFEConsole&version=2.2.2
#tool nuget:?package=XFEExtension.NetCore.XFEConsole&version=2.2.2
XFEExtension.NetCore.XFEConsole
🌐 English | 简体中文
Overview
XFEExtension.NetCore.XFEConsole is a debugging aid that allows remote console output. It is designed to work with the XFE Toolbox, but you can also build your own debugging tool based on the architecture provided in this library.
Installation
dotnet add package XFEExtension.NetCore.XFEConsole
Remote Console
Connect to the Remote Console
// Connect to a local console debug terminal on the given port (port and password are optional)
bool connected = await XFEConsole.UseXFEConsole(port: 3280, password: "");
// Connect to a remote console debug terminal at a specific IP address
bool connected = await XFEConsole.UseXFEConsole("ws://192.168.1.100:3280/", "MyApp", Guid.NewGuid().ToString(), "password");
Once connected, all Console.WriteLine and Console.Write output is automatically forwarded to the remote console.
Properties
XFEConsole.ShowInDebug = true; // Show output in local Debug; default is true
XFEConsole.UseConsoleColor = true; // Use console colors; default is true
XFEConsole.ShowInLocalConsole = true; // Show output in local console; default is true
XFEConsole.AutoAnalyzeObject = true; // Auto-analyze objects instead of calling .ToString(); default is true
Stop the XFE Console
await XFEConsole.StopXFEConsole(); // Close all remote connections and restore the original console output
Connect Only (without redirecting output)
// Establish a connection without modifying Console's output stream
bool connected = await XFEConsole.ConnectConsole("ws://localhost:3280/", "MyApp", Guid.NewGuid().ToString(), "");
Direct Write Methods
XFEConsole.WriteLine("Hello World!"); // Synchronous write line
XFEConsole.Write("Hello "); // Synchronous write (no newline)
await XFEConsole.WriteLineAsync("Hello World!"); // Asynchronous write line
await XFEConsole.WriteAsync("Hello "); // Asynchronous write (no newline)
Output Object Information
await XFEConsole.WriteObject(myObject); // Output object details
await XFEConsole.WriteObject(myObject, onlyProperty: true, onlyPublic: true); // Only public properties
await XFEConsole.WriteObject(myObject, remarkName: "User Object"); // Custom remark name
Use with XUnit Test Framework
class Program
{
[UseXFEConsole] // Use default port 3280
[UseXFEConsole(3280)] // Or specify the port explicitly
[SMTest]
static void TestMethod()
{
Console.WriteLine("Output via XUnit framework");
}
}
Logging
Enable Logging
// Enable logging with default settings (file log, timestamps enabled)
XFEConsole.UseXFEConsoleLog();
// Configure with an Action builder
XFEConsole.UseXFEConsoleLog(options =>
{
options.LogType = LogType.MemoryLog; // Use in-memory log (default: FileLog)
options.AutoApplyTimeInfo = true; // Automatically include timestamps (default: true)
options.UseAnsiConsoleEncoding = true; // Enable ANSI encoding (default: true)
options.LogTextMaximizeLength = 1024 * 10; // Max log length; -1 = unlimited (default: -1)
});
// Or pass an options object directly
var logOptions = new XFEConsoleLogOptions
{
LogType = LogType.FileLog,
AutoApplyTimeInfo = true
};
XFEConsole.UseXFEConsoleLog(logOptions);
Write Logs
Console.WriteLine("Hello World!"); // Recorded directly in the log
Console.Write("Hello"); // Buffered until the next WriteLine
Console.WriteLine(" World!"); // Now "Hello World!" is recorded
Console.WriteLine("[DEBUG]This is a debug message"); // Logged at DEBUG level
Console.WriteLine("[INFO]This is an info message"); // Logged at INFO level
Console.WriteLine("[TRACE]Throw at Main() on line:24 position:25"); // Logged at TRACE level
Console.WriteLine("[WARN]Low memory warning"); // Logged at WARN level
Console.WriteLine("[ERROR]Exception thrown"); // Logged at ERROR level
Console.WriteLine("[FATAL]Application crashed... unknown reason"); // Logged at FATAL level
Configure Log Path
XFEConsole.Log.LogPath = "my-app.log"; // Set the log file path (file log only)
Export, Import, and Clear Logs
string logText = XFEConsole.Log.Export(); // Export all logs as text
string rangeLog = XFEConsole.Log.Export(DateTime.Today, DateTime.Now); // Export by date range
string original = XFEConsole.Log.ExportOriginal(); // Export raw logs (no escaping)
XFEConsole.Log.Import(logText); // Import log text
XFEConsole.Log.Clear(); // Clear all logs
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- XFEExtension.NetCore (>= 4.2.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on XFEExtension.NetCore.XFEConsole:
| Package | Downloads |
|---|---|
|
XFEExtension.NetCore.ServerInteractive
Server interaction extension, including user identity verification and querying in conjunction with AutoConfig |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.2.2 | 103 | 5/10/2026 |
| 2.2.1 | 182 | 4/7/2026 |
| 2.2.0 | 99 | 4/7/2026 |
| 2.1.0 | 158 | 4/5/2026 |
| 2.0.0 | 130 | 3/25/2026 |
| 1.2.3 | 509 | 1/22/2026 |
| 1.2.2 | 136 | 1/22/2026 |
| 1.2.1 | 126 | 1/7/2026 |
| 1.2.0 | 118 | 1/7/2026 |
| 1.1.2 | 498 | 1/31/2025 |
| 1.1.1 | 195 | 1/31/2025 |
| 1.1.0 | 187 | 12/1/2024 |
| 1.0.3 | 273 | 8/18/2024 |
| 1.0.2 | 230 | 8/14/2024 |
| 1.0.1 | 220 | 8/12/2024 |
| 1.0.0 | 204 | 8/7/2024 |
更新包引用,更新README文档,新增自动化发布流程