mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-21 19:20:38 +00:00
create the log file along with its parent directory if not present (#12675)
* Remove Feature Flag From Prater (#12082) * Use Epoch boundary cache to retrieve balances (#12083) * Use Epoch boundary cache to retrieve balances * save boundary states before inserting to forkchoice * move up last block save * remove boundary checks on balances * fix ordering --------- Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> * create the log file along with its parent directory if not present * only give ReadWritePermissions to the log file * use io/file package to create the parent directories * fix ci related issues * add regression tests * run gazelle * fix tests * remove print statements * gazelle * Remove failing test for MkdirAll, this failure is not expected --------- Co-authored-by: Nishant Das <nishdas93@gmail.com> Co-authored-by: Potuz <potuz@prysmaticlabs.com> Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com>
This commit is contained in:
parent
b008a6422d
commit
3d2230223f
@ -13,6 +13,7 @@ go_library(
|
|||||||
"//cache/lru:go_default_library",
|
"//cache/lru:go_default_library",
|
||||||
"//config/params:go_default_library",
|
"//config/params:go_default_library",
|
||||||
"//crypto/rand:go_default_library",
|
"//crypto/rand:go_default_library",
|
||||||
|
"//io/file:go_default_library",
|
||||||
"@com_github_hashicorp_golang_lru//:go_default_library",
|
"@com_github_hashicorp_golang_lru//:go_default_library",
|
||||||
"@com_github_sirupsen_logrus//:go_default_library",
|
"@com_github_sirupsen_logrus//:go_default_library",
|
||||||
],
|
],
|
||||||
|
@ -6,9 +6,11 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/prysmaticlabs/prysm/v5/config/params"
|
"github.com/prysmaticlabs/prysm/v5/config/params"
|
||||||
|
"github.com/prysmaticlabs/prysm/v5/io/file"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -20,6 +22,9 @@ func addLogWriter(w io.Writer) {
|
|||||||
// ConfigurePersistentLogging adds a log-to-file writer. File content is identical to stdout.
|
// ConfigurePersistentLogging adds a log-to-file writer. File content is identical to stdout.
|
||||||
func ConfigurePersistentLogging(logFileName string) error {
|
func ConfigurePersistentLogging(logFileName string) error {
|
||||||
logrus.WithField("logFileName", logFileName).Info("Logs will be made persistent")
|
logrus.WithField("logFileName", logFileName).Info("Logs will be made persistent")
|
||||||
|
if err := file.MkdirAll(filepath.Dir(logFileName)); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
f, err := os.OpenFile(logFileName, os.O_CREATE|os.O_WRONLY|os.O_APPEND, params.BeaconIoConfig().ReadWritePermissions) // #nosec G304
|
f, err := os.OpenFile(logFileName, os.O_CREATE|os.O_WRONLY|os.O_APPEND, params.BeaconIoConfig().ReadWritePermissions) // #nosec G304
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package logs
|
package logs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/prysmaticlabs/prysm/v5/testing/require"
|
"github.com/prysmaticlabs/prysm/v5/testing/require"
|
||||||
@ -24,3 +26,38 @@ func TestMaskCredentialsLogging(t *testing.T) {
|
|||||||
require.Equal(t, MaskCredentialsLogging(test.url), test.maskedUrl)
|
require.Equal(t, MaskCredentialsLogging(test.url), test.maskedUrl)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestConfigurePersistantLogging(t *testing.T) {
|
||||||
|
testParentDir := t.TempDir()
|
||||||
|
|
||||||
|
// 1. Test creation of file in an existing parent directory
|
||||||
|
logFileName := "test.log"
|
||||||
|
existingDirectory := "test-1-existing-testing-dir"
|
||||||
|
|
||||||
|
err := ConfigurePersistentLogging(fmt.Sprintf("%s/%s/%s", testParentDir, existingDirectory, logFileName))
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// 2. Test creation of file along with parent directory
|
||||||
|
nonExistingDirectory := "test-2-non-existing-testing-dir"
|
||||||
|
|
||||||
|
err = ConfigurePersistentLogging(fmt.Sprintf("%s/%s/%s", testParentDir, nonExistingDirectory, logFileName))
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// 3. Test creation of file in an existing parent directory with a non-existing sub-directory
|
||||||
|
existingDirectory = "test-3-existing-testing-dir"
|
||||||
|
nonExistingSubDirectory := "test-3-non-existing-sub-dir"
|
||||||
|
err = os.Mkdir(fmt.Sprintf("%s/%s", testParentDir, existingDirectory), 0700)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
err = ConfigurePersistentLogging(fmt.Sprintf("%s/%s/%s/%s", testParentDir, existingDirectory, nonExistingSubDirectory, logFileName))
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
//4. Create log file in a directory without 700 permissions
|
||||||
|
existingDirectory = "test-4-existing-testing-dir"
|
||||||
|
err = os.Mkdir(fmt.Sprintf("%s/%s", testParentDir, existingDirectory), 0750)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user