Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
9cd047a
adjusting project name
Ellerbach Apr 8, 2021
fc0ab9d
Adding CRLF to Serial and Stream log. Adjusting Serial test
Ellerbach Apr 8, 2021
f35b1fb
Several fixes on projects
josesimoes Apr 8, 2021
dd8c718
Fix nuspecs
josesimoes Apr 8, 2021
2bd5e9b
Several renames of main branch
josesimoes Apr 8, 2021
fb957fd
Add config files for packages sign
josesimoes Apr 8, 2021
fec0c84
Work CI-CD
josesimoes Apr 8, 2021
cddca41
Fix repo URL
josesimoes Apr 8, 2021
789795b
Update README
josesimoes Apr 8, 2021
0ceaa42
Work CI-CD
josesimoes Apr 8, 2021
65f6b91
Fixing failing test
Ellerbach Apr 8, 2021
7ace3f4
Fix NuGet URLs
josesimoes Apr 8, 2021
473a1e9
Miscellaneous improvements
josesimoes Apr 8, 2021
7ee162e
Create update-dependencies.yml
josesimoes Apr 8, 2021
b4ebec4
Fix typo in nuspec
josesimoes Apr 9, 2021
b30fcbb
Add nbgv to projects
josesimoes Apr 9, 2021
71a16f8
Work CI-CD
josesimoes Apr 9, 2021
2e1525a
Work CI-CD
josesimoes Apr 9, 2021
94e9822
Adding custom formatting for logs (#1)
Ellerbach Apr 10, 2021
36e7ad8
Update 2 nuget dependencies (#2)
github-actions[bot] Apr 10, 2021
50812cd
Update 2 nuget dependencies (#4)
github-actions[bot] Apr 12, 2021
3b3e93d
Update 1 nuget dependencies (#5)
github-actions[bot] Apr 23, 2021
beade2f
Changed nfproj to sign the assembly (#7)
edleno2 May 4, 2021
9ad429f
Bumps nanoFramework.CoreLibrary from 1.10.3-preview.7 to 1.10.3-previ…
nfbot May 4, 2021
0456faf
Update 1 nuget dependencies
github-actions[bot] May 4, 2021
01e2b92
Change Debug.WriteLine to Console.WriteLine (#10)
edleno2 May 4, 2021
0abfb81
Update CHANGELOG for v1.0.0
nfbot May 4, 2021
e2ce947
Update 3 nuget dependencies
github-actions[bot] May 5, 2021
c3fa900
Update CHANGELOG for v1.0.0
nfbot May 5, 2021
848d528
Update 5 nuget dependencies
github-actions[bot] May 6, 2021
87185e1
Update CHANGELOG for v1.0.0
nfbot May 6, 2021
a5ae68c
Update 1 nuget dependencies
github-actions[bot] May 7, 2021
8453110
Update CHANGELOG for v1.0.0
nfbot May 7, 2021
da97c40
Update 3 nuget dependencies
github-actions[bot] May 12, 2021
8380bba
Update CHANGELOG for v1.0.0
nfbot May 12, 2021
abe5898
Bumps nanoFramework.CoreLibrary from 1.10.3-preview.20 to 1.10.4-prev…
nfbot May 13, 2021
a044535
Update CHANGELOG for v1.0.0
nfbot May 13, 2021
5983229
Update 5 nuget dependencies
github-actions[bot] May 14, 2021
5b2927d
Update CHANGELOG for v1.0.0
nfbot May 14, 2021
d678bb4
Update 5 nuget dependencies
github-actions[bot] May 15, 2021
bccc770
Update CHANGELOG for v1.0.0
nfbot May 15, 2021
eecaf47
Update 3 nuget dependencies
github-actions[bot] May 16, 2021
f63c6e0
Update CHANGELOG for v1.0.0
nfbot May 16, 2021
8ea5867
Bumps nanoFramework.CoreLibrary from 1.10.4-preview.4 to 1.10.4-previ…
nfbot May 19, 2021
a0bf5ce
Update CHANGELOG for v1.0.0
nfbot May 19, 2021
fe4e22c
Update 4 NuGet dependencies
nfbot May 19, 2021
ce2af83
Update CHANGELOG for v1.0.0
nfbot May 19, 2021
0a1923c
Update 6 nuget dependencies
github-actions[bot] May 20, 2021
4c2a8c1
Update CHANGELOG for v1.0.0
nfbot May 20, 2021
55101a1
Update 1 nuget dependencies
github-actions[bot] May 21, 2021
065404b
Update CHANGELOG for v1.0.0
nfbot May 21, 2021
75f7891
Update 2 nuget dependencies
github-actions[bot] May 22, 2021
0f61227
Update CHANGELOG for v1.0.0
nfbot May 22, 2021
e38e6db
Update 1 nuget dependencies
github-actions[bot] May 23, 2021
4842823
Update CHANGELOG for v1.0.0
nfbot May 23, 2021
8ffffc8
Update 2 nuget dependencies
github-actions[bot] May 25, 2021
ae01f64
Update CHANGELOG for v1.0.0
nfbot May 25, 2021
c816fb5
Update 3 nuget dependencies
github-actions[bot] May 26, 2021
f5ccc3b
Update CHANGELOG for v1.0.0
nfbot May 26, 2021
6dd366f
Update 2 nuget dependencies
github-actions[bot] May 27, 2021
abec8f3
Update CHANGELOG for v1.0.0
nfbot May 27, 2021
f1e04f5
Migrating to System.IO.Ports (#28)
Ellerbach May 29, 2021
08383fc
Update 1 nuget dependencies
github-actions[bot] May 29, 2021
65c9164
Update 3 nuget dependencies
github-actions[bot] May 30, 2021
eee0bbc
Update CHANGELOG for v1.0.0
nfbot May 30, 2021
7605c2c
Fixing nuget in new Logging.Serial (#31)
Ellerbach May 30, 2021
44fc0a7
Update CHANGELOG for v1.0.0
nfbot May 30, 2021
f32e112
Update 4 nuget dependencies
github-actions[bot] May 31, 2021
45916b7
Update CHANGELOG for v1.0.0
nfbot May 31, 2021
1d9984b
Update 4 NuGet dependencies
nfbot May 31, 2021
f58c37d
Update CHANGELOG for v1.0.0
nfbot May 31, 2021
de79184
Bumps nanoFramework.TestFramework from 1.0.122 to 1.0.126
nfbot May 31, 2021
bd40f23
Update CHANGELOG for v1.0.0
nfbot May 31, 2021
eb66297
Update 1 nuget dependencies
github-actions[bot] Jun 1, 2021
bdc7601
Update CHANGELOG for v1.0.0
nfbot Jun 1, 2021
ffcd62b
Update 6 nuget dependencies
github-actions[bot] Jun 2, 2021
b4846a2
Update CHANGELOG for v1.0.0
nfbot Jun 2, 2021
bfa5bc6
Update 1 nuget dependencies
github-actions[bot] Jun 3, 2021
64d1d36
Update CHANGELOG for v1.0.0
nfbot Jun 3, 2021
f127604
Bumps nanoFramework.CoreLibrary from 1.10.5-preview.4 to 1.10.5-previ…
nfbot Jun 3, 2021
5d5c990
Update CHANGELOG for v1.0.0
nfbot Jun 3, 2021
a18ded9
Update 1 nuget dependencies
github-actions[bot] Jun 4, 2021
10a5d36
Update CHANGELOG for v1.0.0
nfbot Jun 4, 2021
94d3003
Update 3 nuget dependencies
github-actions[bot] Jun 5, 2021
400f684
Update CHANGELOG for v1.0.0
nfbot Jun 5, 2021
447c07d
Update 1 nuget dependencies
github-actions[bot] Jun 6, 2021
e72349b
Update CHANGELOG for v1.0.0
nfbot Jun 6, 2021
93bf0e3
Update 3 nuget dependencies
github-actions[bot] Jun 7, 2021
f502faa
Update CHANGELOG for v1.0.0
nfbot Jun 7, 2021
2c7dfea
Update 3 NuGet dependencies
nfbot Jun 7, 2021
a067c7b
Update CHANGELOG for v1.0.0
nfbot Jun 7, 2021
02dcc87
Update 4 nuget dependencies
github-actions[bot] Jun 8, 2021
441fe2d
Update CHANGELOG for v1.0.0
nfbot Jun 8, 2021
993d364
Update 3 nuget dependencies
github-actions[bot] Jun 9, 2021
d82d1ba
Update CHANGELOG for v1.0.0
nfbot Jun 9, 2021
1b8171b
Update 1 nuget dependencies
github-actions[bot] Jun 19, 2021
7f81762
Update CHANGELOG for v1.0.0
nfbot Jun 19, 2021
5907f04
Bumps nanoFramework.CoreLibrary from 1.10.5-preview.13 to 1.10.5-prev…
nfbot Jun 19, 2021
7ef6942
Update CHANGELOG for v1.0.0
nfbot Jun 19, 2021
54cdea0
Update 5 nuget dependencies
github-actions[bot] Jun 20, 2021
7e8fdfc
Update CHANGELOG for v1.0.0
nfbot Jun 20, 2021
c214db0
Update 2 nuget dependencies
github-actions[bot] Jun 21, 2021
03b1535
Update CHANGELOG for v1.0.0
nfbot Jun 21, 2021
3d8b53b
Update 1 nuget dependencies
github-actions[bot] Jun 27, 2021
d154c39
Update CHANGELOG for v1.0.0
nfbot Jun 27, 2021
b61502c
Update 2 nuget dependencies
github-actions[bot] Jun 29, 2021
6d7d79c
Update CHANGELOG for v1.0.0
nfbot Jun 29, 2021
adb214e
Update 1 nuget dependencies
github-actions[bot] Jul 3, 2021
3b24c60
Update 1 nuget dependencies
github-actions[bot] Jul 8, 2021
88254a0
Update 1 nuget dependencies
github-actions[bot] Jul 14, 2021
bc0bbf0
Update CHANGELOG for v1.0.0
nfbot Jul 14, 2021
f5e7bef
Update 7 nuget dependencies
github-actions[bot] Jul 15, 2021
dea979b
Update CHANGELOG for v1.0.0
nfbot Jul 15, 2021
cc091fa
Update 4 nuget dependencies
github-actions[bot] Jul 16, 2021
aa68acf
Update CHANGELOG for v1.0.0
nfbot Jul 16, 2021
29da12c
Update 4 nuget dependencies
github-actions[bot] Jul 17, 2021
4da69d2
Update CHANGELOG for v1.0.0
nfbot Jul 17, 2021
2dc8f65
Update 1 nuget dependencies
github-actions[bot] Jul 18, 2021
2edf6b3
Update CHANGELOG for v1.0.0
nfbot Jul 18, 2021
015c1f1
Update 1 nuget dependencies
github-actions[bot] Aug 10, 2021
d721ff6
Work CI-CD
josesimoes Sep 25, 2021
daf3208
Update 1 nuget dependencies
github-actions[bot] Sep 25, 2021
c210eca
Update 1 nuget dependencies
github-actions[bot] Sep 26, 2021
13f2c1f
Update CHANGELOG for v1.0.0
nfbot Sep 26, 2021
3b666c7
Update 1 nuget dependencies
github-actions[bot] Sep 27, 2021
9e8ebbb
Update CHANGELOG for v1.0.0
nfbot Sep 27, 2021
86efd9a
Update 1 nuget dependencies
github-actions[bot] Sep 30, 2021
7d03af2
Update CHANGELOG for v1.0.0
nfbot Sep 30, 2021
5ca80e0
Update 1 nuget dependencies
github-actions[bot] Oct 15, 2021
199e517
Update CHANGELOG for v1.0.0
nfbot Oct 15, 2021
0bc4bb2
Update 2 nuget dependencies
github-actions[bot] Oct 18, 2021
8971b01
Update CHANGELOG for v1.0.0
nfbot Oct 18, 2021
c86f7cb
Update 2 nuget dependencies
github-actions[bot] Oct 19, 2021
d06d6fa
Update CHANGELOG for v1.0.0
nfbot Oct 19, 2021
3e387d7
Work CI-CD
josesimoes Nov 24, 2021
6c32f2f
Fix project paths in solution
josesimoes Dec 5, 2021
f2131cf
Update 8 nuget dependencies
github-actions[bot] Dec 5, 2021
4b31fab
Update 1 nuget dependencies
github-actions[bot] Dec 5, 2021
963b4bf
Set version to '1.0.0'
nfbot Dec 5, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/workflows/update-dependencies.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Copyright (c) .NET Foundation and Contributors
# See LICENSE file in the project root for full license information.

# This workflow will periodically check .NET nanoFramework dependencies and updates them in the repository it's running.

name: Daily update dependencies

on:
schedule:
# At 00:00 UTC every day.
- cron: '00 00 * * *'
repository_dispatch:
types: update-dependencies

defaults:
run:
shell: pwsh

jobs:
update-dotnet-preview:
name: Update .NET nanoFramework dependencies
timeout-minutes: 15
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
path: main
- name: Checkout tools repo
uses: actions/checkout@v2
with:
repository: nanoframework/nf-tools
path: tools
- name: Update dependencies
run: ./github-actions/update-nf-dependencies.ps1
working-directory: tools
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
if: env.CREATE_PR == 'true'
with:
title: '${{ env.PR_TITLE }}'
body: |
${{ env.PR_MESSAGE }}

[version update]

### :warning: This is an automated update. :warning:
committer: 'nfbot <dependencybot@nanoframework.net>'
branch: ${{ env.BRANCH_NAME }}
path: main
labels: |
Type: dependencies
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -255,3 +255,9 @@ paket-files/

#SoundCloud
*.sonarqube/

#VS Code
.vscode

#Sonar Lint
.sonarlint
486 changes: 486 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Contributor Code of Conduct

Please refer to the contributor Code of Conduct at the Home repository [here](https://github.com/nanoframework/Home/blob/master/CODE_OF_CONDUCT.md.
Please refer to the contributor Code of Conduct at the Home repository [here](https://github.com/nanoframework/Home/blob/main/CODE_OF_CONDUCT.md.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Contributing to **nanoFramework**

Please refer to the contribution guidelines at the Home repository [here](https://github.com/nanoframework/Home/blob/master/CONTRIBUTING.md).
Please refer to the contribution guidelines at the Home repository [here](https://github.com/nanoframework/Home/blob/main/CONTRIBUTING.md).
88 changes: 75 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=nanoframework_nanoFramework.nanoFramework.Logging&metric=alert_status)](https://sonarcloud.io/dashboard?id=nanoframework_nanoFramework.nanoFramework.Logging) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=nanoframework_nanoFramework.nanoFramework.Logging&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=nanoframework_nanoFramework.nanoFramework.Logging) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![NuGet](https://img.shields.io/nuget/dt/nanoFramework.nanoFramework.Logging.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.nanoFramework.Logging/) [![#yourfirstpr](https://img.shields.io/badge/first--timers--only-friendly-blue.svg)](https://github.com/nanoframework/Home/blob/master/CONTRIBUTING.md) [![Discord](https://img.shields.io/discord/478725473862549535.svg?logo=discord&logoColor=white&label=Discord&color=7289DA)](https://discord.gg/gCyBu8T)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=nanoframework_nanoFramework.Logging&metric=alert_status)](https://sonarcloud.io/dashboard?id=nanoframework_nanoFramework.Logging) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=nanoframework_nanoFramework.Logging&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=nanoframework_nanoFramework.Logging) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![NuGet](https://img.shields.io/nuget/dt/nanoFramework.Logging.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.Logging/) [![#yourfirstpr](https://img.shields.io/badge/first--timers--only-friendly-blue.svg)](https://github.com/nanoframework/Home/blob/main/CONTRIBUTING.md) [![Discord](https://img.shields.io/discord/478725473862549535.svg?logo=discord&logoColor=white&label=Discord&color=7289DA)](https://discord.gg/gCyBu8T)

![nanoFramework logo](https://github.com/nanoframework/Home/blob/master/resources/logo/nanoFramework-repo-logo.png)
![nanoFramework logo](https://raw.githubusercontent.com/nanoframework/Home/main/resources/logo/nanoFramework-repo-logo.png)

-----

### Welcome to the **nanoFramework** nanoFramework.Logging Library repository!
### Welcome to the .NET **nanoFramework** nanoFramework.Logging Library repository

## Build status

| Component | Build Status | NuGet Package |
|:-|---|---|
| nanoFramework.Logging | [![Build Status](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_apis/build/status/nanoframework.nanoFramework.nanoFramework.Logging?branchName=master)](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_build/latest?definitionId=12?branchName=master) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.nanoFramework.Logging.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.nanoFramework.Logging/) |
| nanoFramework.Logging (preview) | [![Build Status](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_apis/build/status/nanoframework.nanoFramework.nanoFramework.Logging?branchName=develop)](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_build/latest?definitionId=12?branchName=develop) | [![](https://badgen.net/badge/NuGet/preview/D7B023?icon=https://simpleicons.now.sh/azuredevops/fff)](https://dev.azure.com/nanoframework/feed/_packaging?_a=package&feed=sandbox&package=nanoFramework.nanoFramework.Logging&protocolType=NuGet&view=overview) |
| nanoFramework.Logging.Serial | [![Build Status](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_apis/build/status/nanoframework.nanoFramework.nanoFramework.Logging?branchName=master)](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_build/latest?definitionId=12?branchName=master) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.nanoFramework.Logging.Serial.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.nanoFramework.Logging.Serial/) |
| nanoFramework.Logging.Serial (preview) | [![Build Status](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_apis/build/status/nanoframework.nanoFramework.nanoFramework.Logging?branchName=develop)](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_build/latest?definitionId=12?branchName=develop) | [![](https://badgen.net/badge/NuGet/preview/D7B023?icon=https://simpleicons.now.sh/azuredevops/fff)](https://dev.azure.com/nanoframework/feed/_packaging?_a=package&feed=sandbox&package=nanoFramework.nanoFramework.Logging.Serial&protocolType=NuGet&view=overview) |
| nanoFramework.Logging.Stream | [![Build Status](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_apis/build/status/nanoframework.nanoFramework.nanoFramework.Logging?branchName=master)](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_build/latest?definitionId=12?branchName=master) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.nanoFramework.Logging.Stream.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.nanoFramework.Logging.Stream/) |
| nanoFramework.Logging.Stream (preview) | [![Build Status](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_apis/build/status/nanoframework.nanoFramework.nanoFramework.Logging?branchName=develop)](https://dev.azure.com/nanoframework/nanoFramework.nanoFramework.Logging/_build/latest?definitionId=12?branchName=develop) | [![](https://badgen.net/badge/NuGet/preview/D7B023?icon=https://simpleicons.now.sh/azuredevops/fff)](https://dev.azure.com/nanoframework/feed/_packaging?_a=package&feed=sandbox&package=nanoFramework.nanoFramework.Logging.Stream&protocolType=NuGet&view=overview) |
| nanoFramework.Logging | [![Build Status](https://dev.azure.com/nanoframework/nanoframework.Logging/_apis/build/status/nanoframework.nanoFramework.Logging?branchName=main)](https://dev.azure.com/nanoframework/nanoframework.Logging/_build/latest?definitionId=71&branchName=main) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.Logging.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.Logging/) |
| nanoFramework.Logging (preview) | [![Build Status](https://dev.azure.com/nanoframework/nanoframework.Logging/_apis/build/status/nanoframework.nanoFramework.Logging?branchName=develop)](https://dev.azure.com/nanoframework/nanoframework.Logging/_build/latest?definitionId=71&branchName=develop) | [![NuGet](https://img.shields.io/nuget/vpre/nanoFramework.Logging.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.Logging/) |
| nanoFramework.Logging.Serial | [![Build Status](https://dev.azure.com/nanoframework/nanoframework.Logging/_apis/build/status/nanoframework.nanoFramework.Logging?branchName=main)](https://dev.azure.com/nanoframework/nanoframework.Logging/_build/latest?definitionId=71&branchName=main) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.Logging.Serial.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.Logging.Serial/) |
| nanoFramework.Logging.Serial (preview) | [![Build Status](https://dev.azure.com/nanoframework/nanoframework.Logging/_apis/build/status/nanoframework.nanoFramework.Logging?branchName=develop)](https://dev.azure.com/nanoframework/nanoframework.Logging/_build/latest?definitionId=71&branchName=develop) | [![NuGet](https://img.shields.io/nuget/vpre/nanoFramework.Logging.Serial.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.Logging.Serial/) |
| nanoFramework.Logging.Stream | [![Build Status](https://dev.azure.com/nanoframework/nanoframework.Logging/_apis/build/status/nanoframework.nanoFramework.Logging?branchName=main)](https://dev.azure.com/nanoframework/nanoframework.Logging/_build/latest?definitionId=71&branchName=main) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.Logging.Stream.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.Logging.Stream/) |
| nanoFramework.Logging.Stream (preview) | [![Build Status](https://dev.azure.com/nanoframework/nanoframework.Logging/_apis/build/status/nanoframework.nanoFramework.Logging?branchName=develop)](https://dev.azure.com/nanoframework/nanoframework.Logging/_build/latest?definitionId=71&branchName=develop) | [![NuGet](https://img.shields.io/nuget/vpre/nanoFramework.Logging.Stream.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.Logging.Stream/) |


## Feedback and documentation
Expand All @@ -26,7 +26,7 @@ Join our Discord community [here](https://discord.gg/gCyBu8T).

## Credits

The list of contributors to this project can be found at [CONTRIBUTORS](https://github.com/nanoframework/Home/blob/master/CONTRIBUTORS.md).
The list of contributors to this project can be found at [CONTRIBUTORS](https://github.com/nanoframework/Home/blob/main/CONTRIBUTORS.md).

## License

Expand Down Expand Up @@ -109,8 +109,8 @@ Note that you can adjust the baud speed and all other elements.
Or directly using a SerialLogger:

```csharp
SerialDevice _serial;
_serial = SerialDevice.FromId("COM6", 115200);
SerialPort _serial;
_serial = new SerialPort("COM6", 115200);
SerialLogger _logger = new SerialLogger(ref _serial);
_logger.MinLogLevel = LogLevel.Trace;
_logger.LogTrace("This is a trace");
Expand Down Expand Up @@ -174,9 +174,71 @@ _logger.LogTrace("This won't be displayed, only critical will be");
_logger.LogCritical("Critical message will be displayed");
```

### Create your own formatting

You can use a custom formatter which will give you the name of the logger, the log level, the event ID, the message itself and a potential exception. The function definition should follow the following pattern:

```csharp
public interface IMessageFormatter
{
string MessageFormatter(string className, LogLevel logLevel, EventId eventId, string state, Exception exception);
}
```

**Important**: this function will be called directly, without instantiating the class it is part of. So make sure either this function is a static, either it's part of the class using the logger. The static option always works. The interface is given for convenience and to give the format.

To setup the formatting, just use the following line. The type of the class containing the function and the exact name of the function are required.

```csharp
LoggerExtensions.MessageFormatter = typeof(MyFormatter).GetType().GetMethod("MessageFormatterStatic");

public class MyFormatter
{
public string MessageFormatterStatic(string className, LogLevel logLevel, EventId eventId, string state, Exception exception)
{
string logstr = string.Empty;
switch (logLevel)
{
case LogLevel.Trace:
logstr = "TRACE: ";
break;
case LogLevel.Debug:
logstr = "I love debug: ";
break;
case LogLevel.Warning:
logstr = "WARNING: ";
break;
case LogLevel.Error:
logstr = "ERROR: ";
break;
case LogLevel.Critical:
logstr = "CRITICAL:";
break;
case LogLevel.None:
case LogLevel.Information:
default:
break;
}

string eventstr = eventId.Id != 0 ? $" Event ID: {eventId}, " : string.Empty;
string msg = $"[{className}] {eventstr}{logstr} {state}";
if (exception != null)
{
msg += $" {exception}";
}

return msg;
}
}
```

You are free to use anything you'd like and format as you like the message.

Note: It is **not** necessary to add a \r\n at the end, this is done by each logger.

## Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community.
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behaviour in our community.
For more information see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).

### .NET Foundation
Expand Down
114 changes: 114 additions & 0 deletions Tests/UnitTestDebugLogging/FormattingTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
using nanoFramework.TestFramework;
using System;
using System.Diagnostics;
using nanoFramework.Logging;
using Microsoft.Extensions.Logging;
using nanoFramework.Logging.Debug;

namespace UnitTestDebugLogging
{
[TestClass]
class FormattingTest
{
static DebugLogger _logger;

[Setup]
public void SteupFormattingTest()
{
_logger = new DebugLogger(nameof(FormattingTest));
LoggerExtensions.MessageFormatter = typeof(MyFormatter).GetType().GetMethod("MessageFormatterStatic");
Debug.WriteLine($"{LoggerExtensions.MessageFormatter.Name}");
_logger.MinLogLevel = LogLevel.Trace;
}

[TestMethod]
public void TestInvoke()
{
string msg = (string)LoggerExtensions.MessageFormatter.Invoke(null, new object[] { "test", LogLevel.Trace, new EventId(0), "some text", null });
Debug.WriteLine(msg);
}

[TestMethod]
public void TestFormatting()
{
LogAll();
}

[TestMethod]
public void TestFormattingSimple()
{
LoggerExtensions.MessageFormatter = typeof(MyFormatter).GetType().GetMethod("MessageFormatterSimple");
LogAll();
}

private void LogAll()
{
Debug.WriteLine($"Expexcted level: {_logger.MinLogLevel}");
_logger.LogTrace("{0} {1}", new object[] { "param 1", 42 });
_logger.LogDebug("{0} {1}", new object[] { "param 1", 42 });
_logger.LogInformation("Just some information and nothing else");
_logger.LogWarning("{0} {1}", new object[] { "param 1", 42 });
_logger.LogError(new Exception("Big problem"), "{0} {1}", new object[] { "param 1", 42 });
_logger.LogCritical(42, new Exception("Insane problem"), "{0} {1}", new object[] { "param 1", 42 });
}

[Cleanup]
public void CleanupFormattingTest()
{
LoggerExtensions.MessageFormatter = null;
}
}

public class MyFormatter : IMessageFormatter
{
public string MessageFormatter(string className, LogLevel logLevel, EventId eventId, string state, Exception exception)
=> MessageFormatterStatic(className, logLevel, eventId, state, exception);

public string MessageFormatterStatic(string className, LogLevel logLevel, EventId eventId, string state, Exception exception)
{
string logstr = string.Empty;
switch (logLevel)
{
case LogLevel.Trace:
logstr = "TRACE: ";
break;
case LogLevel.Debug:
logstr = "I love debug: ";
break;
case LogLevel.Warning:
logstr = "WARNING: ";
break;
case LogLevel.Error:
logstr = "ERROR: ";
break;
case LogLevel.Critical:
logstr = "CRITICAL:";
break;
case LogLevel.None:
case LogLevel.Information:
default:
break;
}

string eventstr = eventId.Id != 0 ? $" Event ID: {eventId}, " : string.Empty;
string msg = $"[{className}] {eventstr}{logstr} {state}";
if (exception != null)
{
msg += $" {exception}";
}

return msg;
}

public string MessageFormatterSimple(string className, LogLevel logLevel, EventId eventId, string state, Exception exception)
{
string msg = $"[{className}] {logLevel}-{state}";
if (exception != null)
{
msg += $" {exception}";
}

return msg;
}
}
}
2 changes: 1 addition & 1 deletion Tests/UnitTestDebugLogging/MemoryStreamTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public void TestStreamFile()
memoryStream.Read(fsContent, 0, fsContent.Length);
var fsText = Encoding.UTF8.GetString(fsContent, 0, fsContent.Length);
Assert.StartsWith("An informative message", fsText);
Assert.EndsWith("With exception context System.Exception: Something is not supported", fsText);
Assert.EndsWith("With exception context System.Exception: Something is not supported\r\n", fsText);
}

[Cleanup]
Expand Down
2 changes: 1 addition & 1 deletion Tests/UnitTestDebugLogging/MyTestComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ namespace UnitTestDebugLogging
{
internal class MyTestComponent
{
private ILogger _logger;
private readonly ILogger _logger;

public MyTestComponent()
{
Expand Down
Loading